Pi
Install, authenticate, verify, and run the Pi coding agent through Synara.
Synara integrates the Pi coding-agent runtime and its model registry. Pi owns provider credentials, models, extensions, skills, commands, and session behavior; Synara supplies the durable task, working environment, transcript, review surfaces, Agent Gateway connection, and Git lifecycle around it.
Install
Install Pi from its official npm package:
npm install -g --ignore-scripts @earendil-works/pi-coding-agentOn macOS or Linux, the official installer is also available:
curl -fsSL https://pi.dev/install.sh | shVerify the executable:
pi --versionAuthenticate
Start Pi in a normal terminal:
piFor supported subscription providers, use:
/loginPi can also use provider API keys from environment variables or its credential store. For example, an Anthropic key can be supplied before launch:
export ANTHROPIC_API_KEY="..."Do not commit credentials or paste them into Synara tasks. Pi normally stores its user state under ~/.pi/agent/.
Verify
From a disposable repository:
pi --version
piConfirm that /login or the configured API-key provider makes at least one model available. Use /model to inspect the catalog, then ask Pi to summarize the repository without making changes.
This verifies the package, provider credentials, model registry, and working directory before Synara is involved.
Connect to Synara
Enable Pi
Open provider settings and confirm that Synara detects pi.
Confirm provider credentials
Use Pi’s own /login, environment variables, or supported auth file. Synara reads the resulting model availability rather than duplicating the secret.
Refresh models and thinking levels
Confirm that the model picker shows the expected provider/model combinations and the thinking levels supported by the selected model.
Run a bounded task
Start with Pi’s built-in tools and a clean test repository before adding project extensions, skills, or packages that can execute code.
Capabilities in Synara
Pi sessions can expose:
- Pi’s available provider and model registry
- Thinking levels supported by the selected model
- Built-in read, write, edit, and shell tooling
- Commands, skills, attachments, and project instructions
- Session history and continuation behavior
- Tool output, task progress, usage, and context information
- User-input requests surfaced in the Synara conversation
- Native steering of a running turn
- Synara’s terminal, browser, diff, checkpoint, worktree, and Git delivery surfaces
Native steering lets Synara queue a follow-up for a supported active Pi session without cancelling the turn first. The runtime still decides when it can incorporate the message.
Pi extensions and packages execute with the permissions of your user account. Review third-party code before enabling it in a repository Synara will operate.
Updating
Update Pi and its unpinned packages from Pi itself:
pi updateTo update only the CLI:
pi update --selfYou can also update the global npm package through the package manager that installed it. Restart Synara after changing the runtime.
Troubleshooting
Pi is not detected
- Run
pi --versionfrom a fresh terminal. - Confirm the global package-manager binary directory is on
PATH. - Check the custom binary path in Synara.
- Restart Synara after installation or shell changes.
No models are available
Run Pi directly and use /login, or configure a supported provider API key. Confirm /model shows at least one authenticated model before refreshing Synara.
The model catalog differs between projects
Check Pi’s global and project settings, credentials, custom model definitions, and extensions. Project-level resources can change the provider catalog or behavior.
A third-party Pi package behaves unexpectedly
Disable the package and reproduce with Pi’s built-in runtime. Extensions run arbitrary code and can modify tools, commands, events, and provider behavior.
Official documentation
Continue with Your first task or Provider handoffs.