AC Bridge ac-bridge.com

Documentation

Getting started · Effects reference · Lighting profiles · Troubleshooting

In one paragraph AC Bridge watches the coding agents you already run — Claude Code and Codex — and turns what they are doing into light. A profile maps session states (working, needs permission, finished…) to what your devices should do. You bind a profile to a project folder; from then on, that project's sessions drive those devices. Everything runs on your own machine and your own network.

Getting started

Five steps, roughly ten minutes, most of it waiting for an installer.

  1. Install the app. Sign in here, open your account and download the build for your operating system from the Download tab. Windows, macOS and Linux are all supported, and WSL2 is a first-class target.
  2. Sign in and finish first-run setup. The app checks that Claude Code or Codex is installed, installs the small plugin that reports session state, and offers to open the firewall port device discovery needs. You can re-run any of it later.
  3. Add your devices. Scan finds what is on your network — lights, plugs and LED strips from the usual brands. Integrations is for anything that needs an account or a key: Home Assistant, Hue, SmartThings, Tuya, Meross, eWeLink, Govee, or an MQTT broker.
  4. Make a profile. Pick the states you care about and what each one should do. Start with three: working, needs permission, finished.
  5. Bind it to a project and press Start. Open Claude Code or Codex in that folder as you normally would. Your lights follow the session.

Terminal instead Everything above has a terminal equivalent — the acbridge command ships inside the desktop app and can drive sign-in, the bridge, devices and profiles on a machine with no screen. acbridge doctor checks every requirement and prints the fix for each one.

Effects reference

These are the session states a profile can react to. Not every agent produces every state — Claude Code and Codex report different things, and the app only offers you the ones the agent you bound can actually emit.

State When it fires
started / resumedA session begins, or picks up an earlier one.
workingThe agent is actively doing something.
needs permissionIt is waiting for you to approve an action. The one most people light in red.
needs your inputIt asked a question and is waiting on the answer.
plan readyA plan has been produced and wants review.
idleNothing has happened for a while.
finished / task completedThe turn, or the task, is done.
endedThe session closed.
errorSomething failed.
permission deniedAn action was refused.
context low / context criticalThe session is running out of context window.
compacting / compaction doneThe context is being compacted, and has finished.
rate limitedThe agent's provider is throttling.
usage high / cost highYour configured usage or spend threshold was crossed.
long runA session has been going longer than your threshold.
subagent started / subagent finishedA sub-task was spawned, or completed.
plan mode / auto-accept mode / bypass permissions / normal modeThe permission mode changed.
model changedThe session switched model.
review changedA code review's state changed.
workflow startedA multi-agent workflow began.

Lighting profiles

A profile is a named set of rules: state → what these devices do. Colour, brightness, on/off, or a scene you already have on the device.

The bridge will not start

In order, because each one rules out the next:

  1. Is your subscription active? Local device control needs an active plan or trial. Check your account; a lapsed subscription pauses automation rather than deleting anything.
  2. Is this machine signed in? Sign in from the app, or run acbridge login.
  3. Has the account finished first-run setup? It is a one-time, per-account step. Finish it in the app, or run acbridge login --if-needed on the machine to complete it from the terminal.
  4. Is something else on the port? The bridge serves a local control API on 127.0.0.1. If a previous copy is still running, stop it (acbridge stop) and start again.
  5. Run the doctor. acbridge doctor checks the agent install, the plugin, the local API, the firewall rule and your account, and prints the fix beside each failure.

Devices found but not controllable Most brands need either a local key or an account link before they will take commands. Open Integrations and link the provider; then re-run Scan and the device moves from "found" to "ready to connect".

Still stuck? Email [email protected] — a person reads it. Include what you tried and what acbridge doctor printed; that is usually enough to answer in one reply.