Pi provider backed by the locally installed pi CLI.
The adapter drives pi --mode rpc, pi's JSONL command and event protocol over
stdio, and maps it onto AgentHarness's provider-neutral lifecycle.
Pi is deliberately smaller than the other supported harnesses. It has no
permission system and no MCP support, so approvals and per_session_mcp
are reported as :unsupported and a session configured with either is
rejected rather than silently downgraded. Questions reach the harness through
pi's extension UI sub-protocol, so they appear only when a loaded extension
asks for input.
Pi does support steering a running turn (steer and follow_up RPC
commands), but AgentHarness has no public entry point for it yet, so the
capability is reported as :unsupported rather than advertising something a
caller cannot reach.
Unlike Claude Code and Codex, pi is bring-your-own-model. The default
auth: :subscription policy requires a credential established through pi's
/login OAuth flow and rejects API-key routes. Set
provider_options: %{auth: :inherit} to use an API key.