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.

sync
tests
logs
> 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 command
cargo test -p sync
Do you want to proceed?
❯ 1. Yes
  2. Yes, and don't ask again for cargo test
  3. No, and tell Claude what to do differently (esc)
⏺ 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
9:41
Machines
Agents

Codex Done

Finished: 14 files changeddevbox · ml-pipeline › train

Claude Waiting

Bash: cargo test -p syncstudio · api-server › sync
Quiet3
Machines
studiostudio.local
devboxdevbox · Linux
pi-clusterpi-cluster · Linux

Claude 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
buildagent
make release
Compiling tokio v1.4.0
0%0 / 240 crates
claude
✻ Reading src/sync/…
Running0 tokens
Caught up on 0 lines
clothodon studio
holding 2 panes1 client

Agents

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.

Mac · Agents panel
AGENTS
Claude Waitingstudio · website › release
Codex Errordevbox · infra › db
Quiet 3
Claude Runningdevbox · ml-pipeline › eval
Claude Runningstudio · api-server › auth
Codex Running pi-cluster · scraper › crawl
iPhone · swipe an agent
ResolveMute

Claude Waiting

Allow running npm publish?studio · website › release

Codex Done

Finished: migration plan writtendevbox · infra › db
Mac · notification
Claude is waiting on studionow

website › release: Allow running npm publish?

Approve (1)Deny (Esc)Reply…

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
ssh MacClotho iPhoneClotho studioclothod · macOS devboxclothod · Linux pi-clusterclothod · arm64 ssh · resumable · no open ports

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
Tuesday, October 279:41

Claude is waiting on devbox

infra › db: Allow running the migration?
9:41
db
1 claude2 psql3 zsh
> 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
Bash command
sqlx migrate run
Do you want to proceed?
❯ 1. Yes
  2. Yes, and don't ask again
  3. No (esc)
escctrltab

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.

devbox→clipboard

Copy that just works

Copy inside Claude Code or Codex on a remote machine, and it lands on your Mac or iPhone clipboard.

screenshot.png→agent

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.

studio:~⇄devbox:~

Two-pane file browser

Copy between any two machines, or drag to and from Finder, with progress, conflict prompts and resumable uploads.

⌥drag to select

Mouse that respects TUIs

Option-drag selects and right-click opens the pane menu, even when the program inside has taken the mouse.

AaAaAa

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.

⌘TNew tab
⌘DSplit right
⇧⌘DSplit down
⌘NNew workspace
⇧⌘OFiles
⌘/Every shortcut

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.

  1. Claude starts a refactor devbox · api-server › auth
  2. ⌘Q You quit Clotho The pane keeps running
  3. Lid closed for lunch The daemon doesn't sleep with it
  4. Claude needs you Approved from your iPhone, on the train
  5. Signal drops The pane resumes from the last byte
  6. clothod upgrades In place: same shells, new version
  7. Claude is done Same pane, same scrollback, all day
Clotho app icon

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.