Error reference

The ao-cli orchestrator mode is deprecated and non-functional

2 min read

This throw is intentional and immediate. The adapter does not attempt a dispatch.

What happened

ao inverted its architecture. The commands this adapter was built on no longer exist: ao list and ao status <id> are gone, and ao spawn no longer accepts a prompt. The adapter cannot work, and no amount of configuration fixes it.

Why it throws instead of degrading

The comment above the throw is the important part:

Failing loudly here is deliberate. Silently dispatching into a broken adapter looks like "the agent never started" and costs hours to diagnose; the previous behaviour was exactly that.

A dispatch into a broken adapter produces no error and no agent. Work sits queued, the fleet view shows nothing running, and there is no failure anywhere to follow. That symptom is indistinguishable from a network problem, a token problem, or a routing problem — so you check all three before suspecting the adapter.

An explicit throw with a fix in the message turns a multi-hour hunt into a one-line change.

How to fix it

Point at the ao daemon over HTTP instead:

devpilot bridge connect --mode http --http-url http://127.0.0.1:3001

The wider lesson

The adapter's test harness had been passing throughout. It exercised the adapter against a fake that spoke the format the adapter expected — which confirmed our internal consistency and nothing whatsoever about the world.

A test double built from your own assumptions cannot tell you those assumptions went stale. Checking against the real tool is what surfaced this.

Checking before you migrate

Before switching modes, confirm the daemon is actually listening:

curl -s http://127.0.0.1:3001/health

If that returns nothing, the daemon is not running and changing the mode will move you from one clear failure to a less clear one — a connection refused rather than a deprecation notice.

Worth knowing that the npm-published @composio/ao-cli has lagged the real tool considerably, so the version you have installed may not match what the daemon expects either. Check the daemon's own version rather than the CLI's.