▐▛███▜▌ ▝▜█████▛▘ ▘▘ ▝▝ Claude Code ~/src/tend ❯ keep the agents running after I detach ● The session is a background server. Closing this window does not stop them. ● Detach with ctrl+b d. Attach again and the same panes are there, still marked working, blocked or idle. ⠋ Writing the status line… esc to interrupt
tend
A terminal runtime for coding agents. The server stays up when you leave. Each pane is marked working, blocked, or idle.
Install
curl -fsSL https://tend.auth.com.br/install.sh | sh
Download tend-linux-amd64 · arm64 · all builds
Puts a binary in ~/.local/bin (or $GOBIN / $TEND_INSTALL_DIR). Prefers a release build for this machine; otherwise clones and builds with Go.
From a checkout: make install.
tend is Linux and macOS only. There is no Windows binary.
On Windows, run the Linux installer inside WSL, or clone and make install on a Unix machine.
codex ~/src/tend Do you want to proceed? Run make check before the commit internal/ui/draw.go cmd/tend/tui.go ❯ 1. Yes 2. No ~/src/tend feat/hero
work · tend · agents1:claude ●2:codex ▲
A session. The server is still there when nobody is looking.
With no arguments, tend opens a session and starts a server if there is not one. tend new -- claude opens a pane. tend ls lists what is running. -s NAME runs another session beside the first.
Written in Go. One binary. No cgo.
What stays when you detach
- The programs
- A session is a background server. ctrlb then d leaves the agents running. Opening tend again attaches to the same panes.
- The state
- A pane is working, blocked, or idle. The mark is what the screen is showing — a spinner, a permission prompt, a shell waiting — not a guess about the process name.
- The layout
- A space holds tabs. A tab holds panes. Split beside or below, zoom one pane, scroll its history, jump to the agent that stopped.
Tools, over the spaces
Six buttons at the top of the sidebar, each with a key after the prefix.
- Files f
- A panel beside your panes: the project's tree, a search through it, and its git changes — diff, stage, commit, push. It follows the pane you are working in.
- Agents A
- The agent CLIs tend knows — Claude Code, Codex, Gemini CLI, Cursor, OpenCode and more — which this machine has, and the install command for the rest, run in a tab once you say yes.
- Sessions S
- Every Claude Code conversation on the machine, by its title. Type to search, enter to resume one in a new tab where it was held, mark old ones and delete them.
- GitHub I
- The project's issues and pull requests, through
gh. Comment, close, label, merge. w on an issue makes a worktree for it and starts your agent there, told to complete it. - Browser and context B C
- A Chromium, Chrome or Edge window with tend's extension: pick elements on a page, note what you want of each, and send them to the agent, looked over first in the context panel.
- Updates
- tend notices a new release and says so. u in its notes installs it and moves the running session onto it, without stopping the programs in its panes.
GITHUB ISSUES · acme/shop 4 of 4 open assigned to me created by me closed Issues Pull requests search label:bug # title labels author age 42 Checkout button is grey on mobile bug ana 3h 41 Footer links overlap the badge bug, ui bo 1d 38 Dark mode for the settings page enhancement ana 2d 35 Export orders as CSV enhancement carla 5d enter open · w start work · c comment · x close · → pull requests · esc
The issues panel, prefix+I. w on #42 makes a worktree on issue-42-checkout-button-is-grey and starts your agent in it.
AGENT SESSIONS 2 marked · 5 of 38 search shop ● Checkout redesign acme/shop now 4.2M Footer links overlap acme/shop 3h 812K ✓ Orders CSV export acme/shop 34d 1.9M ✓ Old payment experiment acme/shop 41d 96K ✗ Shop setup as root root/shop 52d 220K type to search · enter resume · tab mark · ^o 30+ days · ^d delete · esc ● open in a pane · ✗ cannot be opened here
The sessions list, prefix+S. Enter resumes one in a new tab, where it was held; ctrlo marks what is a month old, ctrld deletes it. One open in a pane is never deleted.
Prefix is ctrl+b
ctrlb ? lists every key inside the session.
| | - | split beside, below |
|---|---|
| hjkl | move focus |
| HJKL | swap panes |
| r | resize (then h j k l, esc) |
| z | zoom a pane to the window |
| [ | scroll back through its history |
| x | close a pane |
| c n p 1–9 | tabs: new, next, previous, by number |
| N ( ) | spaces: new, previous, next |
| a | show every agent, grouped |
| g | pick one and jump to it |
| d | detach, leaving everything running |