Pi Go (pi-go) is a coding agent for the terminal, written in Go on Agent Development Kit (ADK) for Go and distributed as a single binary. It works against Claude, GPT and O-series, Gemini, Mistral, Grok, Azure OpenAI, OpenRouter, OpenCode, and Ollama models (local or cloud), and switches provider mid-conversation with a slash command. Named model roles (default, smol, slow, plan, and commit) pick a fast, capable, or planning-oriented model per task.
Requests flow from the CLI to the agent, the model provider, and sandboxed tool calls, then back to a Bubble Tea terminal UI. File read, write, and edit, shell, grep, find, tree, and git tools are all restricted to the project directory. A language-server client for Go, TypeScript and JavaScript, Python, Rust, and Java adds formatting and diagnostics hooks, and git tools generate conventional commits from the diff.
Sessions persist as append-only JSONL event logs that can be branched, compacted, and resumed. A process-based subagent system runs explore, plan, designer, reviewer, and task agents concurrently, and a Plan-Driven Development mode turns a planning session into a spec that a task agent executes. Memory Palace gives the agent memory across sessions in four layers (identity, essential story, on-demand recall, and semantic or keyword search) backed by SQLite, embeddings, and a temporal knowledge graph.
It extends through hooks, skills, and MCP servers, and installs skill bundles from plugin marketplaces in the format other coding agents use, such as the Superpowers marketplace. An audit command scans skill files for hidden Unicode, BiDi tricks, and other supply-chain threats. Pi Go also runs as an Agent Client Protocol (ACP) server for editors such as Zed and JetBrains IDEs, and as a JSON-RPC server for other editor integrations.
Features
- Multi-provider models: Claude, GPT and O-series, Gemini, Mistral, Grok, Azure OpenAI, OpenRouter, OpenCode, Ollama, and custom OpenAI-compatible endpoints, switchable mid-conversation
- Model roles: named default, smol, slow, plan, and commit configurations selectable per run
- Sandboxed tools: read, write, edit, shell, grep, find, tree, and git operations confined to the project directory
- Language servers: a JSON-RPC client for Go, TypeScript and JavaScript, Python, Rust, and Java with auto-format and diagnostics hooks
- Session persistence: append-only JSONL event logs with branching, compaction, and resume
- Subagents: process-based explore, plan, designer, reviewer, task, and quick-task agents run by an orchestrator with a concurrency pool
- Plan-Driven Development: a planning session produces a spec that a task agent then executes
- Memory Palace: four-layer memory with SQLite storage, semantic embeddings, full-text search, a temporal knowledge graph, and project and conversation miners
- AI git tools: repository overview, diffs, hunk parsing, and generated conventional commits
- Extensions and plugins: hooks, skills, MCP servers, and skill bundles installed from plugin marketplaces with version tracking
- Skills audit: scans skill files for hidden Unicode characters, BiDi attacks, and supply-chain threats, with optional automatic removal
- Editor integration: runs as an ACP server for Zed and JetBrains IDEs, plus a JSON-RPC 2.0 server, with interactive, print, and JSON output modes


