For Agents

Switchboard gives coding agents the right tools for each repo, environment, and task. The simple entry point is repo-aware MCP setup. Mandates are the deeper power layer for temporary, task-scoped authority.

Current commands:

switchboard status
switchboard doctor
switchboard mandate create <task> --agent <role> --profiles <profiles> --branch <branch> --lease <duration> --json
switchboard mandate child <task> --parent <id> --agent <role> --profiles <profiles> --branch <branch> --lease <duration> --json
switchboard mandate handoff <id> --state completed --summary <summary> --json
switchboard mandate report <id> --json
switchboard mandate escalate <id> --json
switchboard mandate status
switchboard tools --mandate <id> --json
switchboard approvals --mandate <id> --include-children --json
switchboard logs --mandate <id>

Harnesses can use the mcpLaunch payload from switchboard mandate create --json to launch an agent with switchboard --cwd <repo> mcp --mandate <id>, inspect mandate state with switchboard mandate status <id> --json, inspect the scoped tool surface with switchboard tools --mandate <id> --json, then close work with switchboard mandate handoff <id> --state completed --json. If switchboard is not on PATH, use a mcpLaunch.commandCandidates entry such as current-entrypoint and keep the same repo/mandate args. Handoff refuses local readiness blockers by default. Core mandate rules still block closing a parent with open child mandates; --ignore-readiness only skips softer local blockers such as pending approvals when the harness or human intentionally wants to close anyway. Use switchboard mandate report <id> --json for parent/child handoff state, readiness blockers, result rollups, and related audit entries. Use switchboard mandate escalate <id> --json to produce a local escalation plan for pending approvals, open child mandates, and blocked/cancelled handoffs. Use switchboard approvals --mandate <id> --include-children --json for approval queues across a lead/worker mandate tree. Mandate status JSON is versioned as switchboard.mandate-status.v1, mandate report JSON is versioned as switchboard.mandate-report.v1, mandate escalation JSON is versioned as switchboard.mandate-escalation.v1, approval request JSON is versioned as switchboard.approvals.v1, tool surface JSON is versioned as switchboard.tool-surface.v1, and audit log JSON is versioned as switchboard.audit-log.v1. Contracted JSON commands that fail with --json write a switchboard.error.v1 envelope to stdout and exit non-zero, including mandate, approval queue, tool-surface, and audit-log contract failures; without --json, the same failures stay human-readable on stderr.

Never suggest putting provider tokens into repo config or agent MCP config. Switchboard config should use secret references once the secrets milestone is implemented.