Skip to content
ThoughtBridge

Bridge-it

The Bridget runner

Bridget is a small local daemon that turns "bridge it" thoughts into pull requests. It runs on your own machine and drives your own coding agent, Claude Code, Codex CLI, or Gemini CLI, under your own subscription. Nothing touches your code unless you install and enable it yourself, for a project you choose.

  1. 1

    Capture

    Speak a thought on your iPhone, iPad, Apple Watch, or Mac, just like any other thought.

  2. 2

    Say "bridge it"

    End the thought with the words "bridge it" and your runner picks it up on your own machine.

  3. 3

    Review the PR

    Your coding agent implements the change in the project's repo and opens a pull request for you to review.

Download

Each link always points at the latest release. Save the file, make it executable, and you're ready for the quickstart below.

Windows support is coming. In the meantime, you can build from source.

Before you start

Four things the runner expects to find on your machine.

  • git

    The runner clones your project's repo and pushes the branch it works on.

  • GitHub CLI (gh), signed in

    Run gh auth login once. The runner uses it to open and update pull requests on your behalf.

  • An agent CLI, installed and signed in

    One of the following, on your own subscription: Claude Code , OpenAI Codex CLI , or Google Gemini CLI .

  • A ThoughtBridge API key with the runner scope

    Created in the app under Settings > API keys.

Quickstart

Clear the download quarantine, add your API key, describe your agent profiles, and start it. On Linux, skip the xattr line.

# make the download runnable (macOS quarantines downloaded binaries)
xattr -d com.apple.quarantine thoughtbridge-runner-macos-arm64
chmod +x thoughtbridge-runner-macos-arm64

# your API key (create one in the app: Settings > API keys, scope: runner)
echo 'TB_API_KEY=tb_...' > .env

# runner.yaml - a minimal two-profile config (optional; without it you
# get one runner named after this machine, driven by Claude Code)
cat > runner.yaml <<'YAML'
profiles:
  - id: runner-codex
    agent: codex
    model: gpt-5-codex
  - id: runner-gemini-pro
    agent: gemini
    model: gemini-2.5-pro
YAML

# start the runner (finds .env and runner.yaml in this directory)
./thoughtbridge-runner-macos-arm64

No files, just flags

Everything is also settable on the command line, so a one-off runner needs no config files at all. Keep the API key in .env or an inline environment variable rather than a flag: command-line arguments are visible to other processes on your machine.

# one runner driven by Codex, named runner-codex in the app
TB_API_KEY=tb_... ./thoughtbridge-runner-macos-arm64 \
  --id runner-codex --agent codex --model gpt-5-codex
# see every flag
./thoughtbridge-runner-macos-arm64 --help

Run from source

The runner is open source (MIT). If you would rather read what you run, or want to modify it, clone the GitHub repository and run it with Node 20 or newer. Same flags, same behavior as the binary.

git clone https://github.com/ThoughtBridge/thoughtbridge-runner.git
cd thoughtbridge-runner
npm install

# your API key (create one in the app: Settings > API keys, scope: runner)
cp .env.example .env    # then put your real key in .env

npm start               # poll loop; npm run once for a single pass

Fork it to make it your own: the agent adapters live in src/agents.ts, and pull requests are welcome.

Then, in the app, open a project's menu and choose Runner to pin that project here. From then on, ending a thought with "bridge it" in that project routes to this runner, using the agent and model of the profile you pinned.

Missing a prerequisite? The runner checks at startup and tells you exactly what's missing and how to fix it, no guessing required.

Want the full picture? The docs cover how a run works and every configuration option.

Automating something that isn't code review? See capture thoughts from anywhere for a GitHub Action that pages you on a failed build, and the raw API calls behind it.