Skip to main content

AgentBridge: Agents propose. You approve.

tests ci python mypy license

Start  ·  Your account  ·  The track  ·  Dashboard  ·  AgentBench  ·  Docs


AgentBridge is a control tower for AI coding agents. It plans the work, hands each task to the right agent, keeps every agent on its own branch, checks the result itself, and then stops at a red signal until you say go.


The three rules

01 The agent never merges.
Every task lives in its own git worktree. Nothing reaches your branch until you run tasks approve. No force-push, no reset, no deleted branches, ever.

02 "Done!" is not evidence.
AgentBridge runs lint, type checks, tests and a diff review itself, and can lock those checks inside a Docker sandbox with no network.

03 A crash is not a restart.
Every transition is written to SQLite. After a crash, interrupted work is detected and resumed safely, never blindly re-run.

And one honest question: does multi-agent collaboration actually beat a single agent? AgentBench exists to measure it, not to assume it.

Start in a minute

pip install agentbridge-core       # the agentbridge command
pip install agentbridge-bench      # optional: AgentBench (installs agentbridge-core too)

AgentBridge ships as two packages:

Package Command What it is
agentbridge-core agentbridge The orchestrator you use day to day.
agentbridge-bench agentbridge-bench AgentBench, the evaluation harness. Installs agentbridge-core too.
From source (for development)
git clone https://github.com/yoonjae26/AgentBridge.git
cd AgentBridge
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -e ".[dev]" -e packages/agentbridge-bench

Then, inside any git repository with at least one commit:

agentbridge init                                   # writes agentbridge.yaml
agentbridge providers check                        # who is on duty?
agentbridge run "Add a hello() function" --provider mock
agentbridge report <task_id>                       # what changed, what passed
agentbridge tasks approve <task_id>                # green signal: merge

The built-in mock provider needs no account. Requirements: Python 3.12+, Git 2.38+.

Bring your own account

On your machine. Install Claude Code, run claude once and log in with your account (or set ANTHROPIC_API_KEY). Then agentbridge providers check should show claude … available, and --provider claude does the rest. AgentBridge only checks that credentials exist; it never reads or stores them.

In a locked-down container (recommended for untrusted tasks)

The container sees only the task worktree: no ~/.claude, no home directory, no other environment variables. The root filesystem is read-only, all capabilities are dropped, and the container is deleted after each run.

  1. Build the image (Docker; on Windows, Docker inside WSL works):
    docker build -t agentbridge-claude:latest -f examples/container/Dockerfile.claude examples/container
    
  2. Create a token for your account with claude setup-token. Anyone holding it can spend your quota, so treat it like a password.
  3. Keep it in the current shell only, so it disappears when the window closes:
    $env:CLAUDE_CODE_OAUTH_TOKEN = Read-Host -MaskInput "Claude token"   # PowerShell
    
    read -rs CLAUDE_CODE_OAUTH_TOKEN && export CLAUDE_CODE_OAUTH_TOKEN    # bash / zsh
    
  4. Switch it on in your local agentbridge.yaml (the token never goes here):
    providers:
      claude:
        container:
          enabled: true
          command: [docker]                  # Windows + WSL: [wsl, docker]
          token_env: CLAUDE_CODE_OAUTH_TOKEN # or ANTHROPIC_API_KEY
    

If Docker or the token is missing, AgentBridge refuses to run instead of falling back to the host. Full privacy model: docs/security.md.

The track

Every objective travels the same line. The only stop that needs a human is the one that matters.

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#0B1220','primaryTextColor':'#E8EDF7','primaryBorderColor':'#5E6E8C','lineColor':'#8A94A6','fontFamily':'ui-monospace, Menlo, Consolas, monospace'}}}%%
flowchart LR
    O([objective]) --> P[PLAN<br/>task graph]
    P --> R[ROUTE<br/>capability match]
    R --> I[ISOLATE<br/>worktree per task]
    I --> V[VERIFY<br/>lint · types · tests · review]
    V -->|pass| A{{YOU APPROVE}}
    V -->|fail| F[stopped]
    A -->|approve| M[MERGE]
    A -->|reject| K[branch kept]
    classDef signal fill:#FFB000,stroke:#FFB000,color:#0B1220,font-weight:bold
    classDef go fill:#3DDC97,stroke:#3DDC97,color:#0B1220
    classDef stop fill:#2A1620,stroke:#E5484D,color:#FFB4B8
    class A signal
    class M go
    class F stop
Station What happens
Plan The objective becomes a dependency graph (single, standard, or an agent-written JSON plan).
Route Each task goes to a provider that declares the capability it needs: mock, Claude Code, Google Antigravity (manual handoff) or any CLI agent.
Isolate One git worktree and branch per task. Overlapping edits and merge conflicts are detected before they hurt.
Verify Diff, scope, Ruff, Mypy, Pytest and a heuristic review, optionally in a no-network Docker sandbox.
You approve tasks approve / tasks reject, from the CLI or the dashboard.
Merge Only into a clean checkout on the right branch, after a conflict-free dry run.
State machine
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#0B1220','primaryTextColor':'#E8EDF7','primaryBorderColor':'#5E6E8C','lineColor':'#8A94A6'}}}%%
stateDiagram-v2
    direction LR
    [*] --> PENDING
    PENDING --> READY: dependencies done
    READY --> QUEUED
    QUEUED --> RUNNING
    RUNNING --> QUEUED: retry
    RUNNING --> VALIDATING
    RUNNING --> INTERRUPTED: process lost
    VALIDATING --> WAITING_FOR_APPROVAL
    VALIDATING --> FAILED
    WAITING_FOR_APPROVAL --> INTEGRATING: approve
    WAITING_FOR_APPROVAL --> CANCELLED: reject
    INTEGRATING --> SUCCEEDED
    INTERRUPTED --> VALIDATING: resume (work found)
    SUCCEEDED --> [*]

Invalid transitions are rejected in code, and every change is stored as an event.

Dashboard

pip install "agentbridge-core[dashboard]"   # FastAPI + Uvicorn
agentbridge dashboard                       # http://127.0.0.1:8765/

A local control room with live updates: task counts and the approval queue, run plans and dependency graphs, coloured diffs, failing validation output, tokens and estimated cost, and Approve / Reject / Cancel behind a confirmation. Localhost only; every action needs a per-session token. More.

AgentBench

Does multi-agent collaboration improve software-engineering task completion compared with a single agent, and when?

12 deterministic tasks across 8 categories: bug fixing, features, refactoring, test generation, docs, code review, dependency updates and repository analysis. Acceptance tests stay hidden from the agent until it has finished. Published as the agentbridge-bench package; agentbridge benchmark … runs the same commands once it is installed.

agentbridge-bench run smoke -c mock-oracle -c mock-noop     # free harness check
agentbridge-bench run core  -c claude-single -c claude-multi -n 3
Harness control Runs Success
mock-oracle writes the reference solution 12 100 %
mock-noop changes nothing useful 12 0 %
antigravity-remote manual handoff 0 of 12 executable n/a
Pilot · bugfix-002 · n = 1 Hidden tests Time Est. cost
claude-single 5/5 14.9 s $0.37
claude-multi analyst → developer → reviewer 5/5 74.7 s $0.75

Use it from your coding agent

The free AgentBridge skill teaches Claude Code (or any agent that supports Agent Skills) to delegate work through the CLI, read the JSON report and hand you the approve / reject decision. It never approves on its own.

Status

Working · CLI · SQLite state machine · mock and Claude Code adapters · worktree isolation · validation engine · approval-gated merge · retries and recovery · Alembic migrations · Docker validation sandbox · dashboard · AgentBench · 178 tests

Partial · Antigravity (manual handoff) · generic CLI adapter (user-declared capabilities) · Claude in a container (unit-tested, not yet run end-to-end)

Planned · dedicated Codex / OpenCode adapters. See the roadmap.

Docs

Start Understand Configure
Installation Architecture Configuration
Examples Task lifecycle Providers
Troubleshooting Security model Capability matrix
Dashboard Benchmark method Roadmap · Releasing
Repository layout
src/agentbridge/
├── cli/          commands, output, exit codes
├── config/       validated agentbridge.yaml
├── core/         orchestrator, planner, router, events
├── agents/       adapter contract: mock, claude, antigravity, generic_cli
├── tasks/        models, state machine, dependencies, recovery
├── storage/      SQLite (WAL) + Alembic migrations
├── workspace/    worktrees, diffs, conflicts, approval-gated merge
├── validation/   test / lint / type runners, diff review, sandbox
├── security/     policies, command allowlist, secret redaction
└── dashboard/    FastAPI server + prebuilt React UI
packages/agentbridge-bench/
                  AgentBench (agentbridge_bench): runner, metrics, reports, CLI
benchmarks/       tasks, configurations, published reports
dashboard/        React + TypeScript source

Contributing: make install sets up both packages; make check runs Ruff, Mypy (strict) and Pytest. Read CONTRIBUTING.md and the Code of Conduct; report vulnerabilities privately via SECURITY.md. Licensed under MIT.



AGENTBRIDGE  ·  built by yoonjae26
Agents propose. You approve.

Metadata

Release files for agentbridge-core 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentbridge-core 0.1.1
File Size Uploaded Provenance Actions
agentbridge_core-0.1.1.tar.gz 245.3 kB With provenance Details for agentbridge_core-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agentbridge-core 0.1.1
File Interpreter ABI Platform Actions
agentbridge_core-0.1.1-py3-none-any.whl Python 3 none any Details for agentbridge_core-0.1.1-py3-none-any.whl

Total release size: 405.2 kB

Release files / agentbridge_core-0.1.1.tar.gz

Download URL agentbridge_core-0.1.1.tar.gz
Size 245.3 kB
Tags Source
SHA-256 checksum
How to use checksums
97c9a977fa4e889eb91cbefe3d1f173f1cd30f3a5d1dd0122f6892534ee7c5d4
BLAKE2b-256 checksum
How to use checksums
63d283d62dc9047b4ec68999be1471987abe59cd0238d74e324bc1453dc5cc7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Release files / agentbridge_core-0.1.1-py3-none-any.whl

Download URL agentbridge_core-0.1.1-py3-none-any.whl
Size 159.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
122e524aa92c34e35928d31948f3568b6aeb237816ba472d8810894ae33edc99
BLAKE2b-256 checksum
How to use checksums
366e5893b6077eba343ffd839eb047753cc4694f4cd3acc9fdf728f680b87718
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Security for agentbridge-core 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for agentbridge_core-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page