CLI ▾Run three AI coding agents as one local team.
SquidRun puts Claude Code, Codex CLI, and Gemini CLI into one desktop workspace. One pane coordinates, one implements, and one checks the work—all against the same repository.
CLI ▾CLI ▾local sessions · routed messages · durable journalIt behaves like a crew, not a group chat.
Parallel work is useful only when ownership stays legible. SquidRun gives each role a job, a lane, and someone to report back to.
Architect
DecidesHolds the brief, divides the work, and makes the final call. Judgment stays with one accountable owner.
Builder
BuildsWorks in the code, runs the checks, and returns the artifact with receipts attached—not a progress story.
Oracle
ChallengesChecks the claim against the source, finds the weak seam, and says HOLD when the proof does not land.
“Sent” is not the same as “arrived.”
SquidRun keeps a routed ledger beside the conversation. A handoff is not proof because a terminal printed “delivered.” The row has to land, the target has to answer, and important claims have to be reproducible.
- Every request has an address.
- Every reply has an accountable owner.
- Every verdict can point back to evidence.
Message accepted with an explicit target.
accepted ≠ processedProcessing evidence closes the delivery claim.
The hard parts are visible.
SquidRun is not a prompt wrapped in a dashboard. The public source includes the routing protocol, process lifecycle, durable session state, and the tests that keep those boundaries honest.
Explore the repositoryMessages need proof, not optimism.
Read the delivery protocol, target rules, receipts, and failure states that let three separate agents coordinate without pretending a send is an arrival.
docs/protocol-spec.md ↗02 / FAILURE RECOVERYThe tests describe the ugly paths.
Delivery is exercised through reconnects, duplicate pressure, queue boundaries, and the cases that only appear after a real system has failed in use.
websocket-delivery.test.js ↗03 / CONTINUITYA restart should resume a team.
Startup state is tested as a source-of-truth problem: identities, sessions, and ownership have to survive the process boundary without a human rebuilding the room.
startup-source-of-truth.test.js ↗04 / PROCESS CONTROLLocal agents are real operating-system processes.
SquidRun owns process trees, terminals, shutdown, and cleanup. The orchestration layer has to be careful with the machine it is trusted to control.
claude-session-process-reaper.js ↗05 / DURABLE EVIDENCEThe record survives the terminal scrollback.
The ledger is persisted beside the live conversation so a handoff can be queried after a restart instead of depending on whatever still happens to be visible in one pane.
evidence-ledger-store.js ↗The expensive part is already in your toolbox.
- Your CLI seats
- Claude Code, Codex CLI, Gemini CLI—mix the tools you already use.
- Your machine
- Real local sessions, files, tests, and terminals. The work stays close.
- Your call
- Agents can move fast. Financial, destructive, and human decisions stay bounded.