conchv0.1.8
agents keep working after you detach

Run a fleet of coding agents. From one terminal.

conch is a terminal orchestrator for Claude Code, Codex, Gemini CLI, OpenCode and Devin. A background server owns their terminals, and one tree shows every machine, project, branch and agent — and which of them is waiting for you.

macOS · Linux · amd64 and arm64 · Apache 2.0 · written in Go

macOS · Linux
Terminal — Install script
$ curl -fsSL https://raw.githubusercontent.com/Amitgb14/conch/master/install.sh | sh

Downloads the latest release, verifies its checksum and installs ~/.local/bin/conch.

then

  • conchopen the TUI — starts the server on first run
  • conch task -cwd ~/src/api "Add a health check"a branch, a worktree and an agent
  • conch updatemove to the newest release later
╭─ ◆ conch ────────────────────────────────╮ 1 Add health check × 2 Fix flaky login test +
│MACHINES │╭─ Add health check · working · conch/add-health-check · ctx 45k · out 12k · $0.42 ────────────╮
│▾ ● local ⠧1 ⚑1││> Add health check │
│ ▾ ▤ Workspace 1││ │
│ ▾ ◆ api ⠧1 ⚑1││⏺ I'll add a /healthz endpoint that pings the database and │
│ ▾ Branches 8││ returns the build version. │
│ ● main +1││ │
│ ◇ conch/add-health-check ⠧ +2 ↑2││⏺ Update(internal/http/routes.go) │
│ ◇ conch/fix-flaky-login-te… ! +3││ ⎿ Updated internal/http/routes.go with 2 additions │
│ · chore/deps ││ 41 r.Get("/v1/users", s.listUsers) │
│ · docs/api ││ 42 + r.Get("/healthz", s.health) │
│ · feat/login #12✓ ↑2││ 43 + r.Get("/readyz", s.ready) │
│ · fix/timeouts ││ │
│ · spike/grpc ││⏺ Write(internal/http/health.go) │
│ ▾ Agents 2││ ⎿ Wrote 38 lines to internal/http/health.go │
│ ⠧ Add health check …health-check││ │
│ ! Fix flaky login… …y-login-test││⏺ Bash(go test ./internal/http/...) │
│ ▾ Terminals 1││ ⎿ ok github.com/acme/api/internal/http 0.412s │
│ › dev-server main││ │
│ Sessions 0││✶ Writing the handler test… (101s · ↓ 1.2k tokens · esc to interrupt) │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
│ ││ │
╰──────────────────────────────────────────╯╰──────────────────────────────────────────────────────────────────────────────────────────────╯
TREE enter open v split O new tab r rename x close c agent n shell m menu ! waiting ⚑ 1 waiting ✦ Ask ⚙ Settings v0.1.0-dev

Selecting an agent shows its live terminal, with state and token usage in the title.

5
coding agents supported
1
branch and worktree per task
0
agents stopped when you quit the UI
ssh
is all a remote machine needs

what you get

Everything your agents are doing, in one tree

Machines, projects, git branches, agents and terminals sit beside a live view of whatever you select. Every card links to its docs.

agents

Agents outlive the UI

A background server owns every pane. Detach, close the laptop lid, come back — the agents kept going.

q detach · conch reattach
agents

Know who needs you

Working, waiting, done or idle for every agent — from hooks, screen rules and the foreground process, most reliable first.

! next agent waiting
agents

Notifications, quiet hours, snooze

Desktop notification, sound or bell when an agent waits or finishes. Silence them overnight or for an hour.

, settings → notifications
agents

Token usage and plan limits

Context, output and cost in each pane's title. Claude's and Codex's 5-hour and weekly windows in the status bar, with an alert once they pass 80% and 95%.

Claude 5h 82% · 7d 31%
agents

Sessions: resume, search, share

Every saved conversation for a project across all four agents. Search inside them, resume one, or hand one to a different agent to continue.

/ search · s share · I resume all
workflow

One worktree per task

Describe the task: conch names a branch, checks it out into its own worktree and starts the agent with your prompt.

conch task "Fix the flaky tests"
workflow

Your .env comes along

New worktrees get the main checkout's gitignored local files — .env, .envrc, local agent settings — never untracked ones.

F edit the patterns
workflow

Ask in plain words

“Start 3 agents on api: …” becomes a checked plan of tasks and messages. Nothing runs until you press enter.

: ask · conch ask "…"
workflow

Broadcast to a group

One message to every agent in a project, branch or machine — or one command to its terminals. Waiting agents are left out unless you tick them.

B broadcast
workflow

tmux keys, splits and tabs

tmux's splits, tabs, layouts, split numbers and synchronized typing. Tabs follow the tree selection; 10,000 lines of scrollback with copy mode and OSC 52.

ctrl+b % · ctrl+b space · ctrl+b q
workflow

Scriptable

Everything in the TUI is a command, locally or on any machine. The server speaks newline-delimited JSON over a unix socket.

conch send p1 "…" · conch read p1
git

Branches at a glance

Uncommitted lines, conflicts, commits ahead and behind the base, and which agents work on each branch.

+42 −7 ↑2 ↓1
git

Pull requests and checks

PR state and checks from your gh login, refreshed every minute while agents work. A changes view with diffs for every branch.

#12✓ o open PR
git

See what an agent loads

Instructions, skills, MCP servers and plugins each agent picks up in a folder — and what a worktree is missing from the main checkout.

i agent setup
remote

Remote machines over ssh

Add any host from your ssh config. conch installs itself there and its server keeps agents running when your network drops.

conch machine add gpu-box
remote

Update without stopping agents

The server execs a new build in place: panes, scrollback and agent states survive, and every connected machine updates with one key.

conch server reload

the interface

One tree, whatever you point it at

Select a machine to see what it is running and what the agents there have spent; open a project and it unfolds into branches, agents and terminals, each with its own tab.

conch — local
conch showing a machine: its projects in the tree, plan usage and the agents installed
A machine at a glance: what is running, how much of the plan window is left, and which agents are installed.
conch — conch/new-features
conch showing a project: branches, agents and terminals in the tree, a tab per agent, and an agent's diff in the pane
A project opens into branches, agents and terminals, with a tab per agent and its work live in the pane.

a day with conch

Hand out the work, then stop babysitting it

The loop conch is built for: many small tasks, each on its own branch, and you only step in when an agent asks.

  1. 01

    Start a task

    Press t on a project and describe the work. conch names a branch from the prompt, checks it out into its own worktree, copies your local files and starts the agent.

    $ conch task -cwd ~/src/api "Add a health check endpoint"
  2. 02

    Start a few more

    Each task is isolated from the others, so agents never trip over each other's changes. Ask the brain to split a list of work into tasks, or press B to send every agent one instruction.

    $ conch ask "start 3 agents on api: fix the flaky test, add rate limiting, update the README"
  3. 03

    Get on with your day

    Detach with q. The tree shows who is working and who is waiting; a notification fires when an agent you aren't watching needs you, and ! jumps straight to it.

    $ conch status
  4. 04

    Review and ship

    Select a branch to see its uncommitted files, commits ahead, diffs and pull request checks. o opens the PR; x removes the worktree when you're done.

    $ conch read p1

how it works

The UI is disposable. The server is not.

Every machine runs its own conch server, which owns the terminals your agents run in. The TUI is only a client: quit it, lose the network, reboot your laptop — the agents on the other side keep going.

your laptop

conch

the TUI — a client you can quit any time

unix socket · NDJSON

conch server

owns panes, tracks git, PRs and agent states

⠋claude · add-health-check
!codex · fix/flaky
○zsh · dev-server
ssh · conch bridge

gpu-box (remote)

conch bridge

started over your normal ssh; no secrets stored

unix socket · NDJSON

conch server

keeps running when your laptop sleeps

⠋claude · train-eval
⠋opencode · data-loader

Panes live in the server

A PTY and terminal emulator per pane, with 10,000 lines of scrollback. Reattach from any terminal and pick up where you were.

State from the best evidence

Hooks first, then regexes over the screen, then the foreground process. conch agent explain shows why an agent is in its state.

Reload in place

conch server reload execs a new build keeping its process ID, terminals and socket — agents never notice the upgrade.

Reach it from a phone

conch web serves the same agents to a phone over your own tailnet — see what each is doing, answer the question it is waiting on, type into a terminal. No service of conch's in between.

bring your own agents

Works with the agents you already use

conch launches each agent with its own login and configuration, and never edits that configuration or answers its trust prompts for you. A missing agent installs from the same menu — no root needed.

AgentHow conch knows its state
Claude Code

hooks, the screen, and usage from the transcript

curl -fsSL https://claude.ai/install.sh | bash
Codex

the terminal title and the screen

curl -fsSL https://chatgpt.com/codex/install.sh | sh
Gemini CLI

hooks in trusted folders, the title and the screen

npm install -g --prefix ~/.local @google/gemini-cli
OpenCode

plugin events (busy, idle, permission, question) and the screen

curl -fsSL https://opencode.ai/install | bash
Devin (preview)

recognised by its process; its working and waiting states aren't read yet

curl -fsSL https://cli.devin.ai/install.sh | bash

agent states

⠋

working

the agent is busy

!

waiting

blocked on you — a permission or question

✓

done

finished while you looked elsewhere

○

idle

waiting for a prompt

the brain

Say what you want. Approve the plan.

Press : and ask in plain words. The brain sees every machine, project, branch and agent, proposes actions with checkboxes and marks the ones that can't run. Nothing runs until you press enter.

Providers: the Claude Code CLI with your existing login (the default), the Anthropic API, or any OpenAI-compatible endpoint — including a local Ollama.

Summaries: press S on an agent for a one-line summary of what it is doing and what it needs from you, or turn on automatic summaries.

Read about the brain
Askstart 3 agents on api: fix the flaky login test, add rate limiting, update the README
space toggle · enter run selected · e edit request · esc cancel

Give your agents a place to work

Install conch, run conch, and press t on a project.