Install
The quickest path is to give the setup work to a coding agent. Copy this prompt into Claude, Codex, or another agent on the machine that will run Dispatch:
Clone https://github.com/selfcontained/dispatch.git and install its released binary as a persistent service on this machine.
1. Clone the repo to ~/.dispatch/server.
2. Install PostgreSQL 14+, tmux, and the agent CLI binaries to use with Dispatch.
3. Create the dispatch database and copy .env.example to .env.
4. Register Dispatch as a system service:
- macOS: run bin/install-launchd. It downloads and installs the latest release.
- Linux: download and extract the latest dispatch-release.tar.gz into
~/.dispatch/server, then create Xvfb and Dispatch systemd user services.
The Dispatch service runs the matching dist/bun/dispatch-*-bun-linux-* binary;
add DISPATCH_COPY_DISPLAY=:99 to .env for clipboard image support.
5. Verify: curl http://127.0.0.1:6767/api/v1/health Dispatch runs the platform-matching Bun binary inside dispatch-release.tar.gz. On macOS, bin/install-launchd downloads, extracts, and registers it. On Linux, the same artifact belongs in ~/.dispatch/server; the systemd user service invokes the matching binary from dist/bun.
Agent CLI support
Codex and Claude are the recommended paths today. They are the CLIs Dispatch is most often exercised against and the best choice for a first installation.
Cursor and OpenCode are supported as agent types, but they still have integration gaps. They can be useful when they match an existing setup; expect the experience to be less complete than Codex or Claude. A plain terminal is also available when the work does not need a coding-agent CLI.
Three concepts to begin with
Durable sessions
Agents run in tmux so their work can survive a browser tab, a network interruption, or the time between two decisions.
Isolated changes
Worktrees let an agent investigate or implement a change without borrowing the working directory another person is using.
Shared context
Messages, pins, media, reviews, and agent events preserve the information that should outlast a terminal transcript.
For implementation details, read the architecture overview and the repository’s README ↗.