Terminal and agent manager for Mac and iPhone
Every shell,
still running.
Clotho keeps your terminals and coding agents alive on every machine you own, and brings them to your Mac and your pocket. Quit the app, close the lid, lose signal. Nothing stops.
> add retry with backoff to the sync worker ⏺ I'll wrap the upload in an exponential backoff, capped at 30s, so a flaky network can't drop a chunk. ⏺ Update(src/sync/worker.rs) ⎿ Updated with 4 additions and 1 removal 41 let chunk = next_chunk(&mut reader)?; 42 - client.put(&chunk).await?; 42 + retry(Backoff::exp(250, 30_000)) 43 + .run(|| client.put(&chunk)) 44 + .await?;
⏺ Bash(cargo test -p sync) ⎿ 38 passed; 0 failed ✻ Committing… (esc to interrupt)
~/src/api-server main ❯ cargo watch -x check Checking sync v0.4.2 Finished dev in 1.92s [Running 'cargo check'] Checking api v0.9.0 Finished dev in 0.84s [Finished running. Exit status: 0]
~/src/api-server main ❯ tail -f logs/api.log 14:02:11 INFO GET /v1/sync 200 4ms 14:02:12 INFO PUT /v1/chunk 201 18ms 14:02:12 WARN upstream 503, retrying 14:02:13 INFO PUT /v1/chunk 201 22ms 14:02:15 INFO GET /v1/health 200 1ms
Codex Done
Finished: 14 files changeddevbox · ml-pipeline › trainClaude Waiting
Bash: cargo test -p syncstudio · api-server › syncClaude asks on your Mac. Your iPhone knows too.
Persistence
Quit. Reopen.
Exactly where you were.
Your shells don't live in the app. They live in clothod, a small daemon on each machine. Closing Clotho only disconnects. Reopening brings back every workspace, tab, split and screen, including full-screen programs like vim and Claude Code.
The daemon keeps your terminals in a separate process from its logic, so even upgrading it never kills a running shell.
- Reconnects replay exactly the output you missed
- Optional start at login, with launchd or systemd
- Upgrades in place: same shells, new version
clothodon studioAgents
The agents that need you, first.
Run Claude Code and Codex in as many panes, on as many machines, as you like. Clotho keeps one short list on top: the agents waiting on you. Everything else waits quietly below.
Claude Waiting
Allow running npm publish?studio · website › releaseCodex Done
Finished: migration plan writtendevbox · infra › dbwebsite › release: Allow running npm publish?
Resolve
Hide an agent until it needs you again. It comes back to the top on its own.
Mute
Silence a long-running agent until you unmute it or it ends.
Reply from anywhere
Approve, deny or type a reply from the notification, without opening the pane.
Synced
The daemon owns agent state, so resolving on your Mac clears it on your iPhone.
Remote
Every machine,
one sidebar.
Add a Linux box or another Mac by its SSH name. Clotho installs clothod there itself and keeps it up to date, and its shells survive disconnects, sleep and network changes.
No open ports and no new accounts. It's plain SSH, with your own ~/.ssh/config and keys, and it works well over Tailscale.
- macOS and Linux, x86_64 and ARM
- A two-pane file browser between any two machines
- Drop files on a pane to copy them into its folder
iPhone
Your agents,
in your pocket.
The iPhone app connects straight to your machines over SSH, with keys kept in the Keychain. Backgrounding it costs nothing: when you come back, each pane resumes from the last byte it saw.
Push notifications are end-to-end encrypted. Your lock screen says which agent is waiting and where, and a tap opens its pane.
- A key bar with Esc, Ctrl, Tab, arrows and newline
- Paste a photo straight into a remote agent
- Swipe between a tab's panes
Claude is waiting on devbox
infra › db: Allow running the migration?> add the plan column ⏺ It's NOT NULL, so I'll backfill it first, then add the constraint. ⏺ Write(0042_plan.sql) ⎿ Wrote 18 lines
Details
Native, down to
the last keystroke.
Splits in any direction
Workspaces, tabs and panes, with draggable dividers, directional focus and maximize. Every shortcut is an API call, never injected keystrokes.
Copy that just works
Copy inside Claude Code or Codex on a remote machine, and it lands on your Mac or iPhone clipboard.
Images into remote agents
Paste a screenshot or drop a file on a remote agent's pane. Clotho uploads it, and the agent sees the image.
Two-pane file browser
Copy between any two machines, or drag to and from Finder, with progress, conflict prompts and resumable uploads.
Mouse that respects TUIs
Option-drag selects and right-click opens the pane menu, even when the program inside has taken the mouse.
Zoom, fonts, the notch
Whole-app zoom, a bundled Nerd Font, native find, and a borderless window that fills the strip beside the camera notch.
Why Clotho
The thread your
agents run on.
In Greek myth, Clotho spins the thread of life. This Clotho holds the thread your agents run on, and it doesn't break when you quit the app, close the lid, lose signal or upgrade.
- Claude starts a refactor devbox · api-server › auth
- ⌘Q You quit Clotho The pane keeps running
- Lid closed for lunch The daemon doesn't sleep with it
- Claude needs you Approved from your iPhone, on the train
- Signal drops The pane resumes from the last byte
- clothod upgrades In place: same shells, new version
- Claude is done Same pane, same scrollback, all day
Clotho is in private beta.
For macOS 13 or later and iPhone, with machines on macOS or Linux. Join the waitlist and we'll let you know when it opens up.