agentproto CLI
Verbs

`agentproto browser`

text agentproto browser install <adapter> [--force] [--dry-run] [--only <step>...] agentproto browser start <adapter> [--port N] [--camofox-port N] [--label L] [--non-interactive] [--json] agentproto

agentproto browser

agentproto browser install <adapter> [--force] [--dry-run] [--only <step>...]
agentproto browser start   <adapter> [--port N] [--camofox-port N] [--label L]
                                     [--non-interactive] [--json]
agentproto browser stop    <session-id>            [--json]
agentproto browser list    [--alive]               [--json]
agentproto browser status  <session-id>            [--json]

Manage browser service sessions (Camofox, Bureau, Chromium) registered on the local daemon. The daemon hosts the MCP tools (start_browser, stop_browser, …); the CLI is an HTTP wrapper over the same routes for shell scripting and inspection.

Requires a running daemon (serve.md or daemon.md). Discovery reads ~/.agentproto/runtime.json.

Adapters

AdapterDescriptionDefault port
camofoxStealth Firefox headless9377
bureauCamofox + MCP capability server8830
chromiumChromium browser service3200

Subverbs

install <adapter>

Runs the adapter's declared config prompts interactively and persists the results to ~/.agentproto/browser-adapters/<id>.json. Subsequent start calls read this config automatically — no prompts needed unless new required steps appear.

FlagDefaultDescription
--force, -ffalseRe-run all prompts even if already answered.
--dry-runfalsePrint what would happen without persisting.
--only <step>Run only the named step(s). Repeatable.

start <adapter>

Starts a browser service session via POST /sessions/browser. If required config steps are missing and the terminal is interactive, prompts run before the request. Pass --non-interactive to fail fast instead.

FlagDefaultDescription
--port Nadapter defaultOverride the browser's listen port.
--camofox-port Nadapter default(Bureau only) Camofox backend port.
--label LHuman-readable label for the session.
--non-interactivefalseFail if required config is missing instead of prompting.
--jsonfalseEmit the session descriptor as JSON.

stop <session-id>

Sends SIGTERM to the browser session via POST /sessions/:id/kill. Idempotent — reports "not running" if already dead.

FlagDefaultDescription
--jsonfalseEmit {"ok":bool,"sessionId":str} as JSON.

list

Lists browser sessions known to the daemon.

FlagDefaultDescription
--alivefalseShow only running sessions.
--jsonfalseEmit an array of session descriptors.

status <session-id>

Prints a detailed descriptor for one browser session, including a best-effort /health probe (3-second timeout) against the browser's base URL.

FlagDefaultDescription
--jsonfalseEmit {descriptor, healthy, healthBody} as JSON.

Examples

# First-time setup for Camofox
agentproto browser install camofox

# Start a Bureau session (Camofox + MCP tools)
agentproto browser start bureau --label "debug-run"

# Start Bureau on custom ports
agentproto browser start bureau --port 8831 --camofox-port 9378

# List alive browser sessions
agentproto browser list --alive

# Inspect one session
agentproto browser status sess_abc12345

# Stop a session
agentproto browser stop sess_abc12345

# Reinstall config from scratch
agentproto browser install camofox --force

See also

  • serve.md — daemon that hosts browser sessions
  • daemon.md — managed background service
  • sessions.md — generic session listing and control