colonizer
install
docs Protocol

#Colonizer protocol v1

Three hops, one event vocabulary:

agent runner ──stdio JSONL──▶ colonizer-agentd ──WS (mesh)──▶ colonizer ──WS──▶ browser

All messages are single-line JSON objects with a type field. Unknown types and unknown fields must be ignored (forward compatibility).

Model calls take a path of their own, outside these hops: a routed <provider>/<model> goes from the colony through the mothership's provider gateway (§6.5), which holds the provider keys, and an unrouted model goes from the colony straight to the API its agent module's manifest names (egress.api in module.json: api.anthropic.com for Claude Code, api.openai.com for Codex).


#Areas

The protocol, one file per area. Each area file opens with its own title and links back here.

Generated by node scripts/doc-index.mjs write: add a file under docs/protocol/ and rerun; don't edit by hand. <!-- doc-index:start -->

<!-- doc-index:end -->

#Where the old sections went

Every heading of the single-page protocol, in its original order, and the area file it moved to:

Old sectionNow in
1. Files inside the VMprotocol/vm-files.md
Where the agent runtime comes fromprotocol/vm-files.md
2. Agent runner contract (module ⇄ agentd, stdio JSON Lines)protocol/runner-contract.md
Commands (agentd → runner stdin)protocol/runner-contract.md
Events (runner stdout → agentd)protocol/runner-contract.md
3. colonizer-agentd API (VM, port 7070)protocol/agentd-api.md
Originsprotocol/agentd-api.md
GET /v1/healthprotocol/agentd-api.md
GET /v1/events?since=<seq> (WebSocket)protocol/agentd-api.md
GET /v1/pty?cols=<n>&rows=<n> (WebSocket)protocol/agentd-api.md
POST /v1/shutdownprotocol/agentd-api.md
4. Harness API (browser)protocol/harness-api.md
Add your phoneprotocol/auth.md
Scoped API tokensprotocol/auth.md
Connections: GitHub and Claude credentialsprotocol/auth.md
Device and install settingsprotocol/auth.md
GET /api/streamprotocol/harness-api.md
Duplicate-colony prevention and issue claimsprotocol/duplicates.md
Automatic reclamationprotocol/duplicates.md
Plugin directoriesprotocol/plugins.md
Token savingsprotocol/token-savings.md
Pre-flight scanprotocol/preflight.md
GET /api/statusprotocol/harness-api.md
GET /api/hostsprotocol/fleet.md
Fleet pairing (issue #686)protocol/fleet.md
Fleet history push (issue #762)protocol/fleet.md
Fleet history on the owner (issue #762)protocol/fleet.md
Member health (issue #764)protocol/fleet.md
GET /api/versionprotocol/install.md
GET /api/update and PUT /api/updateprotocol/install.md
POST /api/update/applyprotocol/install.md
POST /api/sandbox/pull and GET /api/sandbox/pullprotocol/install.md
POST /api/headroom/download and GET /api/headroomprotocol/install.md
GET /api/telemetry and PUT /api/telemetryprotocol/install.md
GET /api/telemetry/usage and PUT /api/telemetry/usageprotocol/install.md
GET /api/sessions/{id}/transcript?format=common&limit=&cursor=protocol/sessions.md
GET /api/sessions/{id}/events?since=<seq>&epoch=<epoch> (WebSocket)protocol/sessions.md
GET /api/sessions/{id}/terminal?cols=<n>&rows=<n> (WebSocket)protocol/sessions.md
POST /api/handoffprotocol/sessions.md
GET /api/sessions/{id}/handoffprotocol/sessions.md
Saved secrets: /api/secretsprotocol/secrets.md
Colony secrets: POST /api/secrets/colonyprotocol/secrets.md
5. Web UI contractprotocol/web-ui.md
6. v1.1 additions: model routing, org workspaces, shared memory, watchdogthe areas index
6.1 Model routing (runner)protocol/model-routing.md
6.1b Per-task model tiers (mothership)protocol/model-routing.md
6.1c Jev second opinion (shadow mode)protocol/model-routing.md
6.2 Shared memory (runner ⇄ mothership)protocol/memory.md
6.2b Autonomous mode (Mothership)protocol/autonomy.md
6.2c Burn-down mode (Mothership)protocol/autonomy.md
6.3 Mothership API additionsprotocol/mothership-api.md
6.4 UI additionsprotocol/web-ui.md
6.5 Provider gateway (v1.2, issue #5)protocol/providers.md
6.6 Findingsprotocol/findings.md
6.6b Colony-to-colony coordinationprotocol/findings.md
6.7 Red-team runsprotocol/red-team.md
6.8 Spend (per org and per day)protocol/spend.md
GET /api/spend/history?days=30&tz_offset_minutes=0protocol/spend.md
6.9 Activity logprotocol/activity.md
GET /api/activity?before=&limit=&kind=&actor=&org=&repo=&q=protocol/activity.md
6.10 Remote access (tunnel)protocol/remote-access.md
GET /api/remoteprotocol/remote-access.md
PUT /api/remote {"enabled": bool}protocol/remote-access.md
POST /api/remote/resetprotocol/remote-access.md
PUT /api/remote/require-github {"require_github": bool}protocol/remote-access.md
Signing a browser in on the link: /api/remote/devicesprotocol/remote-access.md
Pairing: GET /api/remote/pairing, POST /api/remote/pairing/confirm, POST /api/remote/pairing/reject, DELETE /api/remote/ownerprotocol/remote-access.md
The tunnel, version 1protocol/remote-access.md
6.11 Fleet export bundle (#687)protocol/fleet-export.md
6.12 GitHub loops (issue #778, PR actions issue #807)protocol/loops.md
7. Standard names (UHP)protocol/uhp.md
7.1 Rules for every renameprotocol/uhp.md
7.2 Harness selectionprotocol/uhp.md
7.3 Continuationprotocol/uhp.md
7.4 Streamingprotocol/uhp.md
7.5 Filesprotocol/uhp.md
7.6 Cancellationprotocol/uhp.md
7.7 Errorsprotocol/uhp.md
Loopsprotocol/loops.md
Docs & README loopprotocol/loops.md