Tool pages / Pi coding agent

Pi coding agent 1.1.0: latest version, --tools modifiers and gotchas

Latest: Pi coding agent 1.1.0, released (release notes).

Last verified 2026-10-10 against 1.1.0. Page updated . Also as Markdown and JSON.

The latest Pi coding agent (pi, npm @earendil-works/pi-coding-agent) is 1.1.0, released 2026-10-07 22:26 UTC. Upgrade with npm i -g --ignore-scripts @earendil-works/pi-coding-agent@latest or the pi.dev curl installer. Our sandbox diff against 1.0.4 adds +name/-name tool modifiers to --tools (pi -t +codemode); the diff against 1.0.0 adds --no-mcp. Recent breaking changes include renaming the Azure provider from azure-openai-responses to azure (in 1.0.3) and removing npm-shrinkwrap.json from npm packages (in 1.0.1).

How do I install or upgrade to Pi coding agent 1.1.0?

npm:

npm i -g --ignore-scripts @earendil-works/pi-coding-agent@latest
pi --version   # 1.1.0

Standalone installer (macOS, Linux):

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

Nix flake (macOS, Linux):

nix profile add github:earendil-works/pi/stable

Built-in updater:

pi update self

Pin a version:

npm i -g --ignore-scripts @earendil-works/pi-coding-agent@1.0.4

Pi coding agent key facts

What changed in the last 5 Pi coding agent releases?

Pi coding agent 1.1.0 (2026-10-07 22:26 UTC)

  • Add +name and -name entries to --tools to modify the default tool set instead of replacing it (e.g. pi -t +codemode). (source)
  • Report terminal and agent status via OSC 7501, overrideable with PI_PROGRAM_STATUS=1|0, and add aborted to agent_settled events. (source)
  • Enforce full sign-in timeout across authorization server requests in pi mcp login --timeout. (source)
  • Add OpenAI GPT-6 Luna classifier support via Decisions API and native llama.cpp classifier models through /v1/systemone. (source)
  • Add Claude Haiku 5.5 (anthropic/claude-haiku-5-5) with adaptive thinking up to xhigh/max effort and Bedrock prompt caching. (source)
  • Stop standalone binaries from leaking .env, .env.local, and .env.development into Pi's process environment. (source)

Pi coding agent 1.0.4 (2026-10-05 22:03 UTC)

  • Add --no-mcp to disable built-in MCP server connections and tools for one run. (source)
  • Support wildcard * patterns in --tools and --exclude-tools, and keep MCP tools in --tools unless an entry begins with mcp__. (source)
  • Freeze JavaScript built-in prototypes before executing codemode scripts to prevent mutation crashes. (source)
  • Fix syntax highlighting losing color after the first line of multiline strings in fenced code blocks. (source)
  • Register native client redirect URIs for MCP OAuth servers using OpenID Connect client registration. (source)

Pi coding agent 1.0.3 (2026-10-05 08:38 UTC)

  • Rename Azure provider from azure-openai-responses to azure, and add Azure Foundry Chat Completions support starting with azure/deepseek-v4-pro. (source)
  • Save codemode images from image() to temporary files and return paths for subsequent turns. (source)
  • Move cursor line start/end navigation unconditionally to Home/End, relocating fullscreen transcript top/bottom to Ctrl+Home/Ctrl+End. (source)
  • Restrict permissions on output files (truncated tool logs, binary MCP resources, generated images) to the current user. (source)
  • Fix setRawMode EIO terminal teardown crashes when windows close or backgrounded sessions resume in dead terminals. (source)

Pi coding agent 1.0.2 (2026-10-04 00:56 UTC)

  • Add samplingParamsByThinkingLevel in models.json for per-thinking-level temperature and top_p overrides on OpenAI-compatible APIs. (source)
  • Support thinking level overrides across OpenAI-compatible endpoint configurations. (source)

Pi coding agent 1.0.1 (2026-10-03 16:14 UTC)

  • Publish official Nix flake (nix run github:earendil-works/pi/stable and nix profile add). (source)
  • Remove npm-shrinkwrap.json from published package so npm installs no longer pin transitive dependencies. (source)
  • Allow project-level overrides in .pi/mcp.json to change exposure of user-level MCP servers without redefining them. (source)
  • Add MCP Client ID Metadata Document support (oauth.clientRegistration: "cimd") for URL-based client registration. (source)
  • Add pi.registerToolRenderer() to draw tool calls before custom or resumed MCP tools finish registering. (source)
  • Add Cloudflare Clef and Clef Flash classifier models to cloudflare-workers-ai. (source)

Which Pi coding agent commands and flags were added or removed?

Pi coding agent 1.0.4 → 1.1.0

0 commands added, 0 removed, 0 commands with flags added or removed; 1 help pages changed in any way.

Method: bin/tool-snapshot ran --help for every pi subcommand of both versions in a throwaway Linux sandbox (14 and 14 help pages), then bin/tool-diff compared them. Hidden flags do not appear in --help.

  • Help text for --tools, -t in root pi --help adds Only +name/-name entries add to or remove from the defaults and documents pi --tools +codemode.
  • No subcommands or new top-level command-line flags were added; flag syntax within --tools was expanded to support +name and -name modifiers.

Pi coding agent 1.0.0 → 1.1.0

0 commands added, 0 removed, 1 commands with flags added or removed; 1 help pages changed in any way.

Method: bin/tool-snapshot ran --help for every pi subcommand of both versions in a throwaway Linux sandbox (14 and 14 help pages), then bin/tool-diff compared them. Hidden flags do not appear in --help.

CommandFlags addedFlags removed
pi--no-mcpnone
  • --no-mcp was added in 1.0.4 to disable MCP server initialization and tool exposure for a single run.
  • 1.0.4 also introduced wildcard * patterns for --tools and --exclude-tools, while 1.1.0 introduced +name and -name tool modifiers.

What breaks when upgrading Pi coding agent, and how do I migrate?

VersionChangeMigration
1.0.3The Azure provider was renamed from azure-openai-responses to azure.Update provider names from azure-openai-responses to azure in auth.json, models.json, and settings.json (defaultProvider, enabledModels, modelThinkingLevels). Pass --provider azure instead of --provider azure-openai-responses. Existing AZURE_OPENAI_* environment variables remain unchanged. Fix page
1.0.1Removed npm-shrinkwrap.json from the published npm package @earendil-works/pi-coding-agent.Global npm install -g @earendil-works/pi-coding-agent no longer pins transitive dependencies. For strictly reproducible and pinned installations, install using the official script curl -fsSL https://pi.dev/install.sh | sh or the Nix flake nix profile add github:earendil-works/pi/stable.
0.87.0Removed the deprecated shouldStopAfterTurn agent callback option in @earendil-works/pi-agent-core.In extensions and TypeScript SDK consumers, replace shouldStopAfterTurn with finishTurn and return { action: "end" }. finishTurn also receives error and aborted turn boundaries; return undefined for those exits to preserve default behavior.

What Pi coding agent errors did we reproduce, and how do I fix them?

Fix pages (one error each, with a reproduction): Error: --tools: tool names cannot be mixed with +name or -name entries, Error: Unknown provider "azure-openai-responses". Use --list-models to see available providers/models..

Mixing plain tool names with `+name` or `-name` in `--tools` fails with validation error (Pi coding agent 1.1.0 and later)

pi --tools read,+codemode -p "test"
Error: --tools: tool names cannot be mixed with +name or -name entries

Fix: Use either an explicit allowlist of plain names (pi --tools read,bash,codemode) or modifiers alone to adjust the defaults (pi --tools +codemode or pi --tools -bash). (source)

Passing wildcard `*` patterns to `+name` or `-name` modifiers in `--tools` is rejected (Pi coding agent 1.1.0 and later)

pi --tools "+mcp*" -p "test"
Error: --tools: +name and -name entries take exact tool names, not patterns: +mcp*

Fix: Use exact tool names with + or - prefixes (e.g. pi --tools +codemode). If wildcard matching is needed to select specific MCP server tools, pass plain patterns without the modifier prefix: pi --tools 'read,bash,mcp__radius__*'. MCP tools remain enabled unless an entry starts with mcp__. (source)

Passing legacy `--provider azure-openai-responses` fails with unknown provider error (Pi coding agent 1.0.3 and later)

pi --provider azure-openai-responses --model gpt-4o -p "test"
Error: Unknown provider "azure-openai-responses". Use --list-models to see available providers/models.

Fix: Replace azure-openai-responses with azure: pi --provider azure --model gpt-4o. Update provider keys in auth.json, models.json, and .pi/settings.json. (source)

Passing `--no-mcp` on versions older than 1.0.4 fails with unknown option (Pi coding agent 1.0.3 and earlier)

pi --no-mcp -p "test"
Error: Unknown option: --no-mcp

Fix: Upgrade to @earendil-works/pi-coding-agent 1.0.4 or later where --no-mcp is supported. On older versions, exclude individual MCP tools using --exclude-tools 'mcp__*' or disable servers in .pi/mcp.json. (source)

Running headless `pi -p` without credentials fails with missing API key (Pi coding agent 1.1.0 (observed))

pi -p "test"
No API key found for the selected model.

Use /login to log into a provider via OAuth or API key. See:
  /usr/local/lib/node_modules/@earendil-works/pi-coding-agent/docs/providers.md
  /usr/local/lib/node_modules/@earendil-works/pi-coding-agent/docs/models.md

Fix: Set the provider's environment variable (e.g. export ANTHROPIC_API_KEY="..." or export OPENAI_API_KEY="..."), or run pi /login in an interactive terminal to store credentials. (source)

Running `pi auth check` without provider or model flags exits with code 2 (Pi coding agent 1.0.0 and later)

pi auth check
Error: Auth checks require --provider <provider> or --model <model>

Fix: Specify --provider <name> or --model <pattern>: pi auth check --provider anthropic or pi auth check --model claude-sonnet. (source)

Pi coding agent release history by month

2026-10: 1.0.0 to 1.1.0 (6 releases)

  • 1.1.0 (2026-10-07) added --tools +name/-name modifiers, OSC 7501 status reporting, GPT-6 Luna classifier, and Claude Haiku 5.5. (source)
  • 1.0.4 added --no-mcp and wildcard pattern matching for --tools and --exclude-tools. (source)
  • 1.0.3 renamed the Azure provider to azure and added Azure Foundry Chat Completions. (source)
  • 1.0.0 launched stable 1.0 with fullscreen TUI by default and hardened MCP OAuth. (source)

2026-09: 0.85.0 to 0.99.2 (9 releases)

  • 0.99.0 added codemode with MCP tool orchestration, system terminal colors theme, and Sign in with ChatGPT. (source)
  • 0.87.0 added canonical session context (ContextEditEntry), extension boundary events, and per-model image input limits. (source)

2026-08: 0.84.0 to 0.84.4 (5 releases)

  • 0.84.0 introduced fullscreen TUI mode with sticky editor, Mermaid diagram and LaTeX rendering, and per-directory AGENTS.override.md. (source)

2026-07: 0.80.5 to 0.83.0 (11 releases)

  • 0.83.0 added external client credential export (pi auth print-api-key, pi auth print-bearer-token) and Claude Opus 5 on GitHub Copilot. (source)

2026-06: 0.78.1 to 0.80.3 (16 releases)

  • 0.80.3 added Anthropic Claude Sonnet 5 support, configurable outputPad spacing, and RPC session tree inspection (get_entries, get_tree). (source)

2026-05: 0.71.1 to 0.78.0 (17 releases)

  • 0.78.0 added named startup sessions (--name / -n) and OSC 8 clickable file:// hyperlinks for file tools. (source)

Sources

Last verified: 2026-10-10.