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.
Claude Code, Codex, Cursor, and OpenCode, running as one team in one window.
bridge-harness · feat/worktree-lifecycle
Their write scopes overlap, so each worker gets its own worktree rather than sharing yours.
A branch and a checkout of its own, cut from the task worktree.
.worktrees/worker-2f9a · feat/usage-rollups · main @ 8d0babeAdopt merges this worker's changes into your workspace. Discard deletes them.
Bridge drives the agent CLIs you already pay for.
And many more harnesses coming soon.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.