The last coding agent you’ll ever need.

Claude Code, Codex, Cursor, and OpenCode, running as one team in one window.

Worktree lifecycle inventory

bridge-harness · feat/worktree-lifecycle

Review3 files
Run the usage rollup refactor in parallel with the lifecycle fix.

Their write scopes overlap, so each worker gets its own worktree rather than sharing yours.

Worktree createdisolated

A branch and a checkout of its own, cut from the task worktree.

Worktree.worktrees/worker-2f9a · feat/usage-rollups · main @ 8d0babe
ActivityRan 1 command, read 1 file, edited 1 file3 steps · 2s
Readworktree_coordinator.rs
Editedworktree_coordinator.rs+12 −9
Rancargo test -p bridge-core worktree::2.1s
self.registry.mark_reclaimed(&branch)?;
−forest.append(entry)?;
+forest.append(entry)?;
+self.registry.mark_reclaimed(&branch)?;
Worker changes are ready to review2 files

Adopt merges this worker's changes into your workspace. Discard deletes them.

DiscardAdopt changes
Send a follow-up…
Codex · GPT LunaUser approval

Bring your own sub.

Bridge drives the agent CLIs you already pay for.

Codex
Claude Code
Cursor
OpenCode
Grok
Pi

And many more harnesses coming soon.

Ship more, babysit less.

Every agent on its own branch

Run as many agents as you like on one repo. Every chat gets its own Git worktree and branch, so they never step on each other's files. Mission Control shows them side by side and flags the one waiting on you.

Switch harness mid-chat

Change model or provider inside one conversation, Codex to Claude Code to Cursor, without starting over. The provider session restarts; your history stays where it is. Nobody else lets you do this.

A real browser, signed in as you

When an agent needs a site you're logged into, it asks. Approve it and the agent drives a throwaway copy of your session: it can click through a deploy preview or a dashboard, and you can take over at any point. The copy is thrown away when the turn ends.

Nothing gets lost

Every message, plan, tool call, and delegation lands in a local log that only ever grows. When the context window fills, Bridge compacts the model's view and leaves the log alone, so a restart picks up from a verified checkpoint instead of a blank page.

No agent grades its own homework

Tests run first. Then a reviewer from a different model family has to sign off, and a review from the family that wrote the code is thrown out. Claude's work gets checked by Codex, and the other way round.

Tell it once

Preferences, decisions, and constraints get saved as you work and come back in any later chat, whichever agent is running and whichever repo it's in. Every reply shows which memories it used.

Spend less by delegating

Narrow work goes to a cheap tier and only the hard parts reach an expensive one. Tokens, cost, and cache savings break out per harness and per model, so the routing pays for itself visibly.

FAQ

What is Bridge?

A native desktop control room for supervised coding-agent work. It connects local Git repositories to structured Codex, Claude Code, and OpenCode sessions, isolates concurrent tasks in worktrees, and keeps durable local history so agent activity stays inspectable and recoverable.

How is this different from running an agent in a terminal?

Bridge does not embed a provider terminal UI. Each provider's native process and event protocol is translated into one event model and rendered as structured UI. Work is isolated per worktree, delegation passes through a policy engine, and history survives a restart.

Which agents does it support?

Codex, Claude Code, and OpenCode. Each adapter reports its availability and capabilities before a session starts, and a missing CLI shows that adapter as unavailable instead of blocking startup.

Do I need API keys?

You bring your own provider access. Bridge never collects, proxies, migrates, or deletes a vendor credential. Claude models additionally need Node 18 or newer on your PATH, because Claude runs through the Agent SDK in a Node sidecar.

Which platforms can I download?

The download page has macOS (Apple Silicon) and Linux (x86_64) options. Each button opens the latest stable package when available, or the release page if that platform has not been published yet. Check the release notes for requirements and known limitations.

Is it open source?

Yes. Bridge is MIT licensed, so you can read it, fork it, and ship your own build. Third-party code inside it keeps its own terms.

What is the session forest?

Bridge's append-only local conversation store. Each entry has an immutable identity, a parent entry, a semantic event kind, and visibility rules for context projection. It is local history rather than a tamper-proof or replicated evidence ledger.

What does the policy engine gate?

Capability availability, write scope, worktree isolation, concurrency, delegation depth, retry limits, per-turn budgets, and approvals. Routing and learning may rank the candidates it already allows, and nothing else may widen a permission.

Can CI use it?

Yes. A daemon owns the data directory and speaks newline-delimited JSON-RPC over a Unix socket, and the bridge exec --json one-shot attaches to it for a single call or one turn streamed as JSONL events.

Where does my data live?

In a local data directory owned by exactly one daemon, with the session forest in SQLite. Database paths, snapshots, adapter availability, and runtime health are all visible in the in-app health view.