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::exit 0
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

And many more harnesses coming soon.

The work, in one place.

01

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.

02

History that is never rewritten

Every message, plan, tool call, and delegation lands in a local ledger that only ever grows. Filter it, fork it, rewind it. What an agent actually did survives the restart.

03

Compaction that does not forget

When a context window fills, Bridge summarises and marks a verified boundary instead of quietly dropping the middle. The original events stay put, and a resumed session tells you whether context came back hot, native, from a checkpoint, or fresh.

04

Bring or build your own agents

Install the coding agents you want, add plugins and skills, and define your own roles for the orchestrator to route to. The harness id space is open, so a new provider is an adapter, not a rewrite.

05

Schedule the routine work

Triage, dependency bumps, stale worktree sweeps. Put them on a cron and each run opens its own worktree and reports back like any other task, with the same gates in front of it.

06

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.