Pi and opencode: the same job, two shapes

Pi and opencode: the same job, two shapes An architecture diagram generated by Archify. Your terminal · one repository, shell access · Architecture component Your terminal one repository, shell access plan agent · read-only · asks before bash · Permissions enforced in-process · built in plan agent read-only · asks before bash built in opencode CLI · product surface · Permissions enforced in-process opencode CLI product surface @general subagent · multistep search · Permissions enforced in-process @general subagent multistep search pi-coding-agent · read · write · edit · bash · pi packages — each usable as a library on its own pi-coding-agent read · write · edit · bash pi-tui · differential rendering · pi packages — each usable as a library on its own pi-tui differential rendering pi-agent-core · agent runtime · pi packages — each usable as a library on its own pi-agent-core agent runtime pi-ai · unified provider API · pi packages — each usable as a library on its own pi-ai unified provider API Pi Packages · TypeScript extensions · Architecture component Pi Packages TypeScript extensions Model providers · subscription or API key · Architecture component Model providers subscription or API key install and run install and run Tab @general 75+ providers you write these renders curated, tool-capable Permissions enforced in-process pi packages — each usable as a library on its own

opencode — a product

  • • build and plan agents ship with it
  • • plan denies edits, asks before bash
  • • 75+ providers via Models.dev

pi — a toolkit

  • • Four tools; the rest you write
  • • Runtime, provider API and TUI import separately
  • • No sub agents, no plan mode — by design

The boundary question

  • • opencode enforces in-process: raises the cost of an accident, not a security boundary
  • • pi ships none; documents container isolation instead