Changelog

Release notes and changes from the Pi changelog.

Release notes

Pi 0.54.0

New version of pi. Download from npm or view release on GitHub.

Added

  • Added default skill auto-discovery for .agents/skills locations. Pi now discovers project skills from .agents/skills in cwd and ancestor directories (up to git repo root, or filesystem root when not in a repo), and global skills from ~/.agents/skills, in addition to existing .pi skill paths.

Read more

Release notes

Pi 0.53.1

New version of pi. Download from npm or view release on GitHub.

Changed

  • Added Gemini 3.1 model catalog entries for all built-in providers that currently expose it: google, google-vertex, opencode, openrouter, and vercel-ai-gateway.
  • Added Claude Opus 4.6 Thinking to the google-antigravity model catalog.

Read more

Release notes

Pi 0.53.0

New version of pi. Download from npm or view release on GitHub.

Breaking Changes

  • SettingsManager persistence semantics changed for SDK consumers. Setters now update in-memory state immediately and queue disk writes. Code that requires durable on-disk settings must call await settingsManager.flush().
  • AuthStorage constructor is no longer public. Use static factories (AuthStorage.create(...), AuthStorage.fromStorage(...), AuthStorage.inMemory(...)). This breaks code that used new AuthStorage(...) directly.

Added

  • Added SettingsManager.drainErrors() for caller-controlled settings I/O error handling without manager-side console output.
  • Added auth storage backends (FileAuthStorageBackend, InMemoryAuthStorageBackend) and AuthStorage.fromStorage(...) for storage-first auth persistence wiring.
  • Added Anthropic claude-sonnet-4-6 model fallback entry to generated model definitions.

Changed

  • SettingsManager now uses scoped storage abstraction with per-scope locked read/merge/write persistence for global and project settings.

Read more

Release notes

Pi 0.52.12

New version of pi. Download from npm or view release on GitHub.

Added

  • Added transport setting ("sse", "websocket", "auto") to /settings and settings.json for providers that support multiple transports (currently openai-codex via OpenAI Codex Responses).

Changed

  • Interactive mode now applies transport changes immediately to the active agent session.
  • Settings migration now maps legacy websockets: boolean to the new transport setting.

Read more

Release notes

Pi 0.52.11

New version of pi. Download from npm or view release on GitHub.

Added

  • Added MiniMax M2.5 model entries for minimax, minimax-cn, openrouter, and vercel-ai-gateway providers, plus minimax-m2.5-free for opencode.

Read more

Release notes

Pi 0.52.10

New version of pi. Download from npm or view release on GitHub.

New Features

  • Extension terminal input interception via terminal_input, allowing extensions to consume or transform raw input before normal TUI handling. See docs/extensions.md.
  • Expanded CLI model selection: --model now supports provider/id, fuzzy matching, and :<thinking> suffixes. See README.md and docs/models.md.
  • Safer package source handling with stricter git source parsing and improved local path normalization. See docs/packages.md.
  • New built-in model definition gpt-5.3-codex-spark for OpenAI and OpenAI Codex providers.
  • Improved OpenAI stream robustness for malformed trailing tool-call JSON in partial chunks.
  • Added built-in GLM-5 model support via z.ai and OpenRouter provider catalogs.

Breaking Changes

  • ContextUsage.tokens and ContextUsage.percent are now number | null. After compaction, context token count is unknown until the next LLM response, so these fields return null. Extensions that read ContextUsage must handle the null case. Removed usageTokens, trailingTokens, and lastUsageIndex fields from ContextUsage (implementation details that should not have been public) (#1382 by @ferologics)
  • Git source parsing is now strict without git: prefix: only protocol URLs are treated as git (https://, http://, ssh://, git://). Shorthand sources like github.com/org/repo and git@github.com:org/repo now require the git: prefix. (#1426)

Added

  • Added extension event forwarding for message and tool execution lifecycles (message_start, message_update, message_end, tool_execution_start, tool_execution_update, tool_execution_end) (#1375 by @sumeet)
  • Added terminal_input extension event to intercept, consume, or transform raw terminal input before normal TUI handling.
  • Added gpt-5.3-codex-spark model definition for OpenAI and OpenAI Codex providers (research preview).

Changed

  • Routed GitHub Copilot Claude 4.x models through Anthropic Messages API, with updated Copilot header handling for Claude model requests.

Read more

Release notes

Pi 0.52.9

New version of pi. Download from npm or view release on GitHub.

New Features

  • Extensions can trigger a full runtime reload via ctx.reload(), useful for hot-reloading configuration or restarting the agent. See docs/extensions.md and the reload-runtime example (#1371)
  • Short CLI disable aliases: -ne (--no-extensions), -ns (--no-skills), and -np (--no-prompt-templates) for faster interactive usage and scripting.
  • /export HTML now includes collapsible tool input schemas (parameter names, types, and descriptions), improving session review and sharing workflows (#1416 by @marchellodev).
  • pi.getAllTools() now exposes tool parameters in addition to name and description, enabling richer extension integrations (#1416 by @marchellodev).

Added

  • Added ctx.reload() to the extension API for programmatic runtime reload (#1371)
  • Added short aliases for disable flags: -ne for --no-extensions, -ns for --no-skills, -np for --no-prompt-templates
  • /export HTML now includes tool input schema (parameter names, types, descriptions) in a collapsible section under each tool (#1416 by @marchellodev)
  • pi.getAllTools() now returns tool parameters in addition to name and description (#1416 by @marchellodev)

Read more

Release notes

Pi 0.52.8

New version of pi. Download from npm or view release on GitHub.

New Features

  • Emacs-style kill ring (ctrl+k/ctrl+y/alt+y) and undo (ctrl+z) in the editor input (#1373 by @Perlence)
  • OpenRouter auto model alias (openrouter:auto) for automatic model routing (#1361 by @yogasanas)
  • Extensions can programmatically paste content into the editor via pasteToEditor in the extension UI context. See docs/extensions.md (#1351 by @kaofelix)
  • pi <package> --help and invalid subcommands now show helpful output instead of failing silently (#1347 by @ferologics)

Added

  • Added pasteToEditor to extension UI context for programmatic editor paste (#1351 by @kaofelix)
  • Added package subcommand help and friendly error messages for invalid commands (#1347 by @ferologics)
  • Added OpenRouter auto model alias for automatic model routing (#1361 by @yogasanas)
  • Added kill ring (ctrl+k/ctrl+y/alt+y) and undo (ctrl+z) support to the editor input (#1373 by @Perlence)

Changed

Read more

Release notes

Pi 0.52.7

New version of pi. Download from npm or view release on GitHub.

New Features

  • Per-model overrides in models.json via modelOverrides, allowing customization of built-in provider models without replacing provider model lists. See docs/models.md#per-model-overrides.
  • models.json provider models now merge with built-in models by id, so custom models can be added or replace matching built-ins without full provider replacement. See docs/models.md#overriding-built-in-providers.
  • Bedrock proxy support for unauthenticated endpoints via AWS_BEDROCK_SKIP_AUTH and AWS_BEDROCK_FORCE_HTTP1. See docs/providers.md.

Breaking Changes

  • Changed models.json provider models behavior from full replacement to merge-by-id with built-in models. Built-in models are now kept by default, and custom models upsert by id.

Added

  • Added modelOverrides in models.json to customize individual built-in models per provider without full provider replacement (#1332 by @charles-cooper)
  • Added AWS_BEDROCK_SKIP_AUTH and AWS_BEDROCK_FORCE_HTTP1 environment variables for connecting to unauthenticated Bedrock proxies (#1320 by @virtuald)

Read more

Release notes

Pi 0.52.3

New version of pi. Download from npm or view release on GitHub.

Fixed

  • Fixed git package parsing fallback for unknown hosts so enterprise git sources like git:github.tools.sap/org/repo are treated as git packages instead of local paths
  • Fixed git package @ref parsing for shorthand, HTTPS, and SSH source formats, including branch refs with slashes
  • Fixed Bedrock default model ID from us.anthropic.claude-opus-4-6-v1:0 to us.anthropic.claude-opus-4-6-v1
  • Fixed Bedrock Opus 4.6 model metadata (IDs, cache pricing) and added missing EU profile
  • Fixed Claude Opus 4.6 context window metadata to 200000 for Anthropic and OpenCode providers

Read more

Release notes

Pi 0.52.2

New version of pi. Download from npm or view release on GitHub.

Changed

  • Updated default model for anthropic provider to claude-opus-4-6
  • Updated default model for openai-codex provider to gpt-5.3-codex
  • Updated default model for amazon-bedrock provider to us.anthropic.claude-opus-4-6-v1:0
  • Updated default model for vercel-ai-gateway provider to anthropic/claude-opus-4-6
  • Updated default model for opencode provider to claude-opus-4-6

Read more

Release notes

Pi 0.52.0

New version of pi. Download from npm or view release on GitHub.

New Features

  • Claude Opus 4.6 model support.
  • GPT-5.3 Codex model support (OpenAI Codex provider only).
  • SSH URL support for git packages. See docs/packages.md.
  • auth.json API keys now support shell command resolution (!command) and environment variable lookup. See docs/providers.md.
  • Model selectors now display the selected model name.

Added

  • API keys in auth.json now support shell command resolution (!command) and environment variable lookup, matching the behavior in models.json
  • Added minimal-mode.ts example extension demonstrating how to override built-in tool rendering for a minimal display mode
  • Added Claude Opus 4.6 model to the model catalog
  • Added GPT-5.3 Codex model to the model catalog (OpenAI Codex provider only)
  • Added SSH URL support for git packages (#1287 by @markusn)
  • Model selectors now display the selected model name (#1275 by @haoqixu)

Read more

Release notes

Pi 0.51.6

New version of pi. Download from npm or view release on GitHub.

New Features

Added

  • Added resume as a configurable keybinding action, allowing users to bind a key to open the session resume selector (like newSession, tree, and fork) (#1249 by @juanibiapina)

Changed

  • Slash command menu now triggers on the first line even when other lines have content, allowing commands to be prepended to existing text (#1227 by @aliou)

Read more

Release notes

Pi 0.51.4

New version of pi. Download from npm or view release on GitHub.

New Features

  • Share URLs now default to pi.dev, graciously donated by exe.dev.

Changed

  • Share URLs now use pi.dev by default while pi.dev and buildwithpi.ai continue to work.

Read more

Release notes

Pi 0.51.3

New version of pi. Download from npm or view release on GitHub.

New Features

Breaking Changes

  • RPC get_commands response and SlashCommandSource type: renamed "template" to "prompt" for consistency with the rest of the codebase

Added

  • Added ExtensionAPI.getCommands() to let extensions list available slash commands (extensions, prompt templates, skills) for invocation via prompt (#1210 by @w-winter)
  • Added commands.ts example extension and exported SlashCommandInfo types for command discovery integrations (#1210 by @w-winter)
  • Added local path support for pi install and pi remove with relative paths stored against the target settings file (#1216)

Read more