Berth
https://www.berthd.app/ Run coding agents on your dev boxes, and work with them as if they were on your laptop.Berth connects a laptop to any number of development machines (a VPS, a cloud VM, a desktop under your desk) and gives each repository on them worktrees, terminals, agents, dev servers and automations. The agents run on the boxes, so closing the app, sleeping the laptop or losing Wi-Fi never stops them; the app is a view you can close and reopen at any time.
- Workspaces per worktree: terminals (ghostty-web), splits, and browser
http://checkout.shop.devl.localhost:1377/.
- Agents you can see and steer: Claude Code, Codex and others, with a
- Projects set up the same everywhere: each worktree gets its own ports,
.berth/config.json, a shareable kit, or the box's own config.
- Automations: Zapier-style flows on events, schedules or GitHub
before: gates.
- Plugins: React plugins for the app, with built-ins for git changes,
- Boxes without the fuss: pinned mutual TLS, pairing by link, boxes on
Pieces
| | |
| --- | --- |
| berthd | The daemon on each box: worktrees, sessions (tmux), services, hooks, flows, kits. |
| berth | The laptop CLI and background agent: connections, private URLs, the app's API. |
| app/ | The desktop app (Tauri, React, coss ui). |
| plugins/ | Built-in plugins, written against packages/plugin-sdk. |
| kits/ | Pointers to kits kept in their own repositories, such as the Cal.com kit. |
Getting started
On each box, as the user your agents will run as:
curl -fsSL https://berthd.app/install | sh
It downloads berthd from the latest release,
checks it against the release's checksums, installs it for that user (no
root), starts it as a systemd user service (launchd on macOS), installs the
hooks that let Claude Code, Codex and Cursor report their state
(--no-integrations skips them), and prints a pairing link. The link works
once, for ten minutes. Run it again to upgrade in place; sh -s -- --help
lists the options.
On your Mac, download Berth
(Berth-macos-universal.dmg, for Apple silicon and Intel, signed and
notarized), drag it to Applications and open it. The app carries the
berth CLI and the Linux daemons berth add ssh uploads, and offers to
start the laptop agent when it isn't running. It updates itself: new
releases download in the background, and Restart to update in the
status bar or Settings → About applies one; it never restarts on its own,
and restarting never stops an agent.
For berth in a terminal, Settings → General → Command line → Install
links ~/.local/bin/berth to the app's copy (it asks first). On a Linux
laptop, or for the CLI alone, download it from the release (use
linux-arm64, darwin-arm64 or darwin-amd64 to match):
mkdir -p ~/.local/bin
curl -fsSL https://github.com/sean-brydon/berthd/releases/latest/download/berth-linux-amd64.tar.gz | tar -xz -C ~/.local/bin
Paste the box's link into the app (Add a box), or:
berth pair 'berth://100.101.102.103:7444?code=…&fp=…'
Instead of the install line, berth add ssh can install and pair a box over
SSH in one step. Then add a project and start an agent, in the app or here:
berth add ssh me@my-box # or: install on the box over SSH, and pair
berth location add my-box/app ~/work/app
berth task new my-box/app/fix-login --agent claude --prompt "Fix the login redirect"
berth help lists every command; every listing takes --json.
Build from source
With Go 1.27, Node 22, pnpm and Rust. make all builds berth and
berthd into bin/; the app runs the clone's bin/berth for the laptop
agent:
git clone https://github.com/sean-brydon/berthd
cd berthd && make all
cd app && pnpm install && pnpm tauri dev
make app-build builds Berth.app and its disk image, with the CLI and the
Linux daemons inside.
Docs
The documentation is at docs.berthd.app. Its pages
are the docs/ folder here, built by docs-site/:
- Install, add a box, first project, first agent
- How Berth works and the security model
- Orchestration: agents driving agents, and the offline queue
- Automations: flows, schedules, GitHub triggers; hooks and gates
- Project config (
.berth/config.json), kits, secrets - The phone companion, agent integrations, plugins
- Reference: CLI, berthd, config, events, the app's API, plugin SDK
- Changelog, and releasing for maintainers
Development
make test # go vet + go test -race
pnpm -C app build # typecheck and build the app
pnpm -C docs-site dev # the docs site, on http://localhost:3333
Licence
MIT.