Setup
Pi and Opencode share OpenCode Go and Aster credentials. DeepSeek Harness, Pi, and Opencode share OpenRouter credentials. Authentication priority is OpenCode Go, Aster, then OpenRouter.- Create an OpenCode Go API key in OpenCode Zen, an Aster key in the Aster console, or an OpenRouter key on the OpenRouter keys page.
- Paste it under Pi → OpenCode Go, Pi → Aster API Key, or Pi → OpenRouter API Key in Organization → Coding Agents. The credentials are shared with the other supported harnesses.
- Set organization credentials for the team, or add a personal key under Personal to override the organization default.
Models
OpenCode Go starts with the same four default models as Opencode. Organization admins can add or remove models under Pi → OpenCode Go models in Coding Agents settings; changes apply to both harnesses. With Aster connected, Pi provideskimi-k3, glm-5.2, gpt-oss-120b-fast, and gpt-oss-120b.
With OpenRouter, Pi offers the models enabled under Pi → OpenRouter models in Coding Agents settings. Organization admins pick these from the connected OpenRouter account, and the selection is shared with DeepSeek Harness and Opencode. Until it is changed, Pi provides:
Enable additional models under OpenRouter models in Coding Agents settings. Saved organization selections take precedence over these defaults.
Choose an organization default under Defaults, a personal default in account preferences, or a model for the active chat from the workspace composer.
Using Pi in Workspaces
Choose Pi from the composer’s harness/model picker when creating a chat. Pi can:- Read, write, and edit repository files
- Run shell commands with Replicas command protection
- Accept image attachments
- Persist sessions and tool history across workspace sleep
- Use MCP servers configured for the organization
- Discover provisioned and repository skills through Pi’s global
.agents/skillsdirectory - Run skills explicitly with
/skill:<name>
Provider errors
When inference fails upstream, the chat reports the provider, model, HTTP status, and any response detail the provider returned. Transient server errors add a retry hint; Pi already retries them automatically before the turn fails. OpenCode Go’sRegionError and DataPolicyError require separate opt-ins for China-hosted models and model-training data sharing. Check the workspace linked in the error; it must match the workspace that issued your connected API key. See OpenCode Go.