Appearance
Architecture overview
Pond runs coding agents on your Mac. Each agent is Claude Code in a terminal that Pond owns, working in its own git worktree. This section explains what runs, how the parts talk, and where the limits are.
The parts
| Part | What it is | Where it runs |
|---|---|---|
| Pond.app | The app you see: blobs, the stage, the sidebar, the browser tile, settings. | Your Mac, as a Dock app. |
| pond-ptyd | A small helper that owns every terminal. It keeps running when Pond quits or updates. | Your Mac, started on demand. |
| pond CLI | The pond command. You use it in a shell. Claude Code runs it for hooks and MCP tools. | Your Mac. |
| Pond Computer.app | An optional helper for computer use. It alone holds Accessibility and Screen Recording. | Your Mac, only while an agent drives. |
| WorktreeKit | The library that reads worktrees, tests, readiness, merges and pushes. | Inside Pond.app and the CLI. |
| Friends relay | A small server that stores and forwards sealed items between friends. | Off your Mac. Used only if you turn Friends on. |
How they talk
- Local sockets. Every process on your Mac talks over Unix sockets in the Pond folder. Each socket is mode 0600, and each server checks who is on the other end before it reads a byte. See Processes and IPC.
- Pushed state, no polling. The helper pushes terminal events. Claude Code hooks push session events. Git folders are watched with file events. When nothing changes, Pond does no work.
- Files. Small JSON files in the Pond folder hold projects, sessions and settings. The safety switches among them are sealed, so an agent cannot flip them by editing a file. See Storage.
What leaves your Mac
Your code and terminal text stay on your Mac. A few things can leave it, each one optional or off by default:
- crash reports and anonymous usage counts, to EU servers (Observability);
- a daily request for a signed version file (Updates);
- sealed friend items through the relay (Friends and relay);
- pushes to your own git remote, only after your click (Task lifecycle).
Claude Code also talks to its own provider. Pond does not handle that traffic.