01Stacks
A fork covers its parent like a card. Hover the deck and the whole tree drops down.
- 1.1/sfork or ⇧⌘F
- 1.2⌘E fans the tree out
- 1.3Forks of forks, any depth
Claude has the plan. Codex is writing the code. Synapse lets them share context and talk to each other, so you can stop carrying messages between terminals.
Local by default. MIT licensed. Your choice of agents.
A home for the work, and every agent doing it. The desktop preview brings projects, worktrees and real terminals into one window. Start an agent with a shortcut. Switch to the canvas when it needs context from another.
Clone a repo, open a folder, or start from a template. The library finds every workspace already on the machine.
Use the agent CLIs you already know, with your shell, your shortcuts and your tools. Each session gets its own terminal.
Plan with Claude, implement with Codex, ask Gemini to review. Launch a different agent without leaving the project.
An agent hands you five points and you want to dig into the third. Type /sfork why 3? and a child session answers from the parent's context. The question never enters the parent. Pop the fork when you're done, or send a short summary back.
A fork covers its parent like a card. Hover the deck and the whole tree drops down.
Forks show up on the canvas too, hanging off the agent they came from.
Each running agent is a node, the ones in the app and the ones in your other terminals. Working ones pulse fast, idle ones breathe, forks hang off their parent. Drag from one node to another and context starts flowing. ⌃Tab flips the app into it, ⌘-click a node opens its session.
No orchestrator, no broadcast. You decide who reads whom, and the rest happens on its own: context arrives with the next prompt, messages land in the inbox.
Drag from one agent to another. That's the whole setup.
Arrives before you ask, and you see it arrive.
auth/session.ts.a41f9c2. Hold off on session.ts, moving token refresh there.retryAfter?Every agent can text every agent, whichever CLI it runs in.
Twenty agents open? Find any one in a keystroke.
Start agents in the app, or don't. Synapse also finds the ones in your own terminals and in Superset, from Claude Code's session registry and a process scan.
| Agent | Discovery | Read context | Messages |
|---|
Six operations, three surfaces. Every agent gets the same tools over MCP and the CLI. Claude Code and Codex also get a skill, so you can just ask.
# identity from the process tree
synapse peers --all
synapse link codex-api
synapse read codex-api
synapse send codex-api "landed?"
synapse inbox
synapse ui# stdio, zero dependencies
synapse_peers
synapse_link { agent, direction }
synapse_unlink { agent }
synapse_read { agent, max }
synapse_send { agent, text }
synapse_inbox# Claude Code and Codex
> /synapse connect to the codex
agent and ask what it found
⏺ synapse link codex-api
⏺ synapse send codex-api "..."
Linked. Reply lands next prompt.Your local sessions stay on your machine. Synapse reads transcripts from disk and stores local links and messages in ~/.synapse. You choose which agents share context.
Pair with a teammate using an invite code, then draw a link to share one agent's context with theirs. One way, nothing shared by default, and the relay stores nothing.
Workspaces, worktrees and real agent terminals in one window, with the canvas one keystroke away. Available from the multiplayer branch.
/sfork or ⇧⌘F opens a side session from the current context. Stacked as a deck, drawn as lineage on the canvas.
Claude Code and Codex print a line whenever context or messages arrive. Live band and toasts in Claude Code.
Any agent can message any linked agent, across CLIs. Plus ⌘F fuzzy search and markdown in the agent panel.
Build the desktop preview, or add the standalone canvas to your existing terminal setup.