Documentation

Guides and references for configuring and extending Pi.

Quickstart

Version: Latest

Quickstart

This page gets you from install to a useful first pi session.

Install

Pi is distributed as an npm package:

npm install -g @mariozechner/pi-coding-agent

Then start pi in the project directory you want it to work on:

cd /path/to/project
pi

Authenticate

Pi can use subscription providers through /login, or API-key providers through environment variables or the auth file.

Option 1: subscription login

Start pi and run:

/login

Then select a provider. Built-in subscription logins include Claude Pro/Max, ChatGPT Plus/Pro (Codex), GitHub Copilot, Google Gemini CLI, and Google Antigravity.

Option 2: API key

Set an API key before launching pi:

export ANTHROPIC_API_KEY=sk-ant-...
pi

You can also run /login and select an API-key provider to store the key in ~/.pi/agent/auth.json.

See Providers for all supported providers, environment variables, and cloud-provider setup.

First session

Once pi starts, type a request and press Enter:

Summarize this repository and tell me how to run its checks.

By default, pi gives the model four tools:

  • read - read files
  • write - create or overwrite files
  • edit - patch files
  • bash - run shell commands

Additional built-in read-only tools (grep, find, ls) are available through tool options. Pi runs in your current working directory and can modify files there. Use git or another checkpointing workflow if you want easy rollback.

Give pi project instructions

Pi loads context files at startup. Add an AGENTS.md file to tell it how to work in a project:

# Project Instructions

- Run `npm run check` after code changes.
- Do not run production migrations locally.
- Keep responses concise.

Pi loads:

  • ~/.pi/agent/AGENTS.md for global instructions
  • AGENTS.md or CLAUDE.md from parent directories and the current directory

Restart pi, or run /reload, after changing context files.

Common things to try

Reference files

Type @ in the editor to fuzzy-search files, or pass files on the command line:

pi @README.md "Summarize this"
pi @src/app.ts @src/app.test.ts "Review these together"

Images can be pasted with Ctrl+V (Alt+V on Windows) or dragged into supported terminals.

Run shell commands

In interactive mode:

!npm run lint

The command output is sent to the model. Use !!command to run a command without adding its output to the model context.

Switch models

Use /model or Ctrl+L to choose a model. Use Shift+Tab to cycle thinking level. Use Ctrl+P / Shift+Ctrl+P to cycle through scoped models.

Continue later

Sessions are saved automatically:

pi -c                  # Continue most recent session
pi -r                  # Browse previous sessions
pi --session <path|id> # Open a specific session

Inside pi, use /resume, /new, /tree, /fork, and /clone to manage sessions.

Non-interactive mode

For one-shot prompts:

pi -p "Summarize this codebase"
cat README.md | pi -p "Summarize this text"
pi -p @screenshot.png "What's in this image?"

Use --mode json for JSON event output or --mode rpc for process integration.

Next steps

  • Using Pi - interactive mode, slash commands, sessions, context files, and CLI reference.
  • Providers - authentication and model setup.
  • Settings - global and project configuration.
  • Keybindings - shortcuts and customization.
  • Pi Packages - install shared extensions, skills, prompts, and themes.

Platform notes: Windows, Termux, tmux, Terminal setup, Shell aliases.