News
Release notes, project updates, and announcements from the Pi team.
Pi 0.58.0
New version of pi. Download from npm or view release on GitHub.
New Features
- Claude Opus 4.6, Sonnet 4.6, and related Bedrock models now use a 1M token context window (up from 200K) (#2135 by @mitsuhiko).
- Extension tool calls now execute in parallel by default, with sequential
tool_callpreflight preserved for extension interception. GOOGLE_CLOUD_API_KEYenvironment variable support for thegoogle-vertexprovider as an alternative to Application Default Credentials (#1976 by @gordonhwc).- Extensions can supply deterministic session IDs via
newSession()(#2130 by @zhahaoyu).
Added
- Added
GOOGLE_CLOUD_API_KEYenvironment variable support for thegoogle-vertexprovider as an alternative to Application Default Credentials (#1976 by @gordonhwc) - Added custom session ID support in
newSession()for extensions that need deterministic session paths (#2130 by @zhahaoyu)
Changed
- Changed extension tool interception to use agent-core
beforeToolCallandafterToolCallhooks instead of wrapper-based interception. Tool calls now execute in parallel by default, extensiontool_callpreflight still runs sequentially, and final tool results are emitted in assistant source order. - Raised Claude Opus 4.6, Sonnet 4.6, and related Bedrock model context windows from 200K to 1M tokens (#2135 by @mitsuhiko)
Pi 0.57.1
New version of pi. Download from npm or view release on GitHub.
New Features
- Tree branch folding and segment-jump navigation in
/tree, withCtrl+←/Ctrl+→andAlt+←/Alt+→shortcuts while←/→andPage Up/Page Downremain available for paging. See docs/tree.md and docs/keybindings.md. session_directoryextension event for customizing session directory paths before session manager creation. See docs/extensions.md.- Digit keybindings (
0-9) in the TUI keybinding system, including modified combos likectrl+1. See docs/keybindings.md.
Added
- Added
/treebranch folding and segment-jump navigation withCtrl+←/Ctrl+→andAlt+←/Alt+→, while keeping←/→andPage Up/Page Downfor paging (#1724 by @Perlence) - Added
session_directoryextension event that fires before session manager creation, allowing extensions to customize the session directory path based on cwd and other factors. CLI--session-dirflag takes precedence over extension-provided paths (#1730 by @hjanuschka). - Added digit keys (
0-9) to the keybinding system, including Kitty CSI-u and xtermmodifyOtherKeyssupport for bindings likectrl+1(#1905)
Pi 0.57.0
New version of pi. Download from npm or view release on GitHub.
New Features
- Extensions can intercept and modify provider request payloads via
before_provider_request. See docs/extensions.md#before_provider_request. - Extension UIs can use non-capturing overlays with explicit focus control via
OverlayOptions.nonCapturingandOverlayHandle.focus()/unfocus()/isFocused(). See docs/extensions.md and ../tui/README.md. - RPC mode now uses strict LF-only JSONL framing for robust payload handling. See docs/rpc.md.
Breaking Changes
- RPC mode now uses strict LF-delimited JSONL framing. Clients must split records on
\nonly instead of using generic line readers such as Nodereadline, which also split on Unicode separators inside JSON payloads (#1911)
Added
- Added
before_provider_requestextension hook so extensions can inspect or replace provider payloads before requests are sent, with an example inexamples/extensions/provider-payload.ts - Added non-capturing overlay focus control for extension UIs via
OverlayOptions.nonCapturingandOverlayHandle.focus()/unfocus()/isFocused()(#1916 by @nicobailon)
Changed
- Overlay compositing in extension UIs now uses focus order so focused overlays render on top while preserving stack semantics for show/hide behavior (#1916 by @nicobailon)
Pi 0.56.3
New version of pi. Download from npm or view release on GitHub.
New Features
claude-sonnet-4-6model available via thegoogle-antigravityprovider (#1859)- Custom editors can now define their own
onEscape/onCtrlDhandlers without being overwritten by app defaults, enabling vim-mode extensions (#1838) - Shift+Enter and Ctrl+Enter now work inside tmux via xterm modifyOtherKeys fallback (docs/tmux.md, #1872)
- Auto-compaction is now resilient to persistent API errors (e.g. 529 overloaded) and no longer retriggers spuriously after compaction (#1834, #1860)
Added
- Added
claude-sonnet-4-6model for thegoogle-antigravityprovider (#1859). - Added tmux setup documentation for modified enter key support (#1872)
Pi 0.56.2
New version of pi. Download from npm or view release on GitHub.
New Features
- GPT-5.4 support across
openai,openai-codex,azure-openai-responses, andopencode, withgpt-5.4now the default foropenaiandopenai-codex(README.md, docs/providers.md). treeFilterModesetting to choose the default/treefilter mode (default,no-tools,user-only,labeled-only,all) (docs/settings.md, #1852 by @lajarre).- Mistral native conversations integration with SDK-backed provider behavior, preserving Mistral-specific thinking and replay semantics (README.md, docs/providers.md, #1716).
Added
- Added
gpt-5.4model availability foropenai,openai-codex,azure-openai-responses, andopencodeproviders. - Added
gpt-5.3-codexfallback model availability forgithub-copilotuntil upstream model catalogs include it (#1853). - Added
treeFilterModesetting to choose the default/treefilter mode (default,no-tools,user-only,labeled-only,all) (#1852 by @lajarre).
Changed
- Updated the default models for the
openaiandopenai-codexproviders togpt-5.4.
Pi 0.56.0
New version of pi. Download from npm or view release on GitHub.
New Features
- Added OpenCode Go provider support with
opencode-gomodel defaults andOPENCODE_API_KEYenvironment variable support (docs/providers.md, #1757). - Added
branchSummary.skipPromptsetting to skip branch summarization prompts during tree navigation (docs/settings.md, #1792). - Added
gemini-3.1-flash-lite-previewfallback model availability for Google provider catalogs when upstream model metadata lags (README.md, #1785).
Breaking Changes
- Changed scoped model thinking semantics. Scoped entries without an explicit
:<thinking>suffix now inherit the current session thinking level when selected, instead of applying a startup-captured default. - Moved Node OAuth runtime exports off the top-level
@mariozechner/pi-aientry. OAuth login and refresh must be imported from@mariozechner/pi-ai/oauth(#1814).
Added
- Added
branchSummary.skipPromptsetting to skip the summary prompt when navigating branches (#1792). - Added OpenCode Go provider support with
opencode-gomodel defaults andOPENCODE_API_KEYenvironment variable support (#1757). - Added
gemini-3.1-flash-lite-previewfallback model availability in provider catalogs when upstream catalogs lag (#1785).
Changed
- Updated Antigravity Gemini 3.1 model metadata and request headers to match upstream behavior.
Pi 0.55.4
New version of pi. Download from npm or view release on GitHub.
New Features
- Runtime tool registration now applies immediately in active sessions. Tools registered via
pi.registerTool()after startup are available topi.getAllTools()and the LLM without/reload(docs/extensions.md, examples/extensions/dynamic-tools.ts, #1720). - Tool definitions can customize the default system prompt with
promptSnippet(Available tools) andpromptGuidelines(Guidelines) while the tool is active (docs/extensions.md, #1720). - Custom tool renderers can suppress transcript output without leaving extra spacing or empty transcript footprint in interactive rendering (docs/extensions.md, #1719).
Added
- Added optional
promptSnippettoToolDefinitionfor one-line entries in the default system prompt'sAvailable toolssection. Active extension tools appear there when registered and active (#1237 by @semtexzv). - Added optional
promptGuidelinestoToolDefinitionso active tools can append tool-specific bullets to the default system promptGuidelinessection (#1720).
Pi 0.55.2
New version of pi. Download from npm or view release on GitHub.
New Features
- Extensions can dynamically remove custom providers via
pi.unregisterProvider(name), restoring any built-in models that were overridden, without requiring/reload(docs). pi.registerProvider()now takes effect immediately when called outside the initial extension load phase (e.g. from a command handler), removing the need for/reloadafter late registrations.
Added
Pi 0.55.1
New version of pi. Download from npm or view release on GitHub.
New Features
- Added offline startup mode via
--offline(orPI_OFFLINE) to disable startup network operations, with startup network timeouts to avoid hangs in restricted or offline environments. - Added
gemini-3.1-pro-previewmodel support to thegoogle-gemini-cliprovider (#1599 by @audichuang).
Pi 0.55.0
New version of pi. Download from npm or view release on GitHub.
Breaking Changes
- Resource precedence for extensions, skills, prompts, themes, and slash-command name collisions is now project-first (
cwd/.pi) before user-global (~/.pi/agent). If you relied on global resources overriding project resources with the same names, rename or reorder your resources. - Extension registration conflicts no longer unload the entire later extension. All extensions stay loaded, and conflicting command/tool/flag names are resolved by first registration in load order.
Pi 0.54.2
New version of pi. Download from npm or view release on GitHub.
Fixed
- Fixed
.pifolder being created unnecessarily when only reading settings. The folder is now only created when writing project-specific settings. - Fixed extension-driven runtime theme changes to persist in settings so
/settingsreflects the activecurrentThemeafterctx.ui.setTheme(...)(#1483 by @ferologics) - Fixed interactive mode freezes during large streaming
writetool calls by using incremental syntax highlighting while partial arguments stream, with a final full re-highlight after tool-call arguments complete.
Pi 0.54.0
New version of pi. Download from npm or view release on GitHub.
Added
- Added default skill auto-discovery for
.agents/skillslocations. Pi now discovers project skills from.agents/skillsincwdand 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.piskill paths.
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, andvercel-ai-gateway. - Added Claude Opus 4.6 Thinking to the
google-antigravitymodel catalog.
Pi 0.53.0
New version of pi. Download from npm or view release on GitHub.
Breaking Changes
SettingsManagerpersistence semantics changed for SDK consumers. Setters now update in-memory state immediately and queue disk writes. Code that requires durable on-disk settings must callawait settingsManager.flush().AuthStorageconstructor is no longer public. Use static factories (AuthStorage.create(...),AuthStorage.fromStorage(...),AuthStorage.inMemory(...)). This breaks code that usednew 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) andAuthStorage.fromStorage(...)for storage-first auth persistence wiring. - Added Anthropic
claude-sonnet-4-6model fallback entry to generated model definitions.
Changed
SettingsManagernow uses scoped storage abstraction with per-scope locked read/merge/write persistence for global and project settings.
Pi 0.52.12
New version of pi. Download from npm or view release on GitHub.
Added
- Added
transportsetting ("sse","websocket","auto") to/settingsandsettings.jsonfor providers that support multiple transports (currentlyopenai-codexvia OpenAI Codex Responses).
Changed
- Interactive mode now applies transport changes immediately to the active agent session.
- Settings migration now maps legacy
websockets: booleanto the newtransportsetting.