ProvidersPi

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-agent

On macOS or Linux, the official installer is also available:

curl -fsSL https://pi.dev/install.sh | sh

Verify the executable:

pi --version

Authenticate

Start Pi in a normal terminal:

pi

For supported subscription providers, use:

/login

Pi 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
pi

Confirm 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 update

To update only the CLI:

pi update --self

You 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

  1. Run pi --version from a fresh terminal.
  2. Confirm the global package-manager binary directory is on PATH.
  3. Check the custom binary path in Synara.
  4. 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.

Last updated on