New Features
- Fork existing sessions directly from the CLI with
--fork <path|id>, which copies a source session into a new session in the current project. See README.md. - Extensions and SDK callers can reuse pi's built-in local bash backend via
createLocalBashOperations()foruser_bashinterception and custom bash integrations. See docs/extensions.md#user_bash. - Startup no longer updates unpinned npm and git packages automatically. Use
pi updateexplicitly, while interactive mode checks for updates in the background and notifies you when newer packages are available. See README.md.
Breaking Changes
- Changed package startup behavior so installed unpinned packages are no longer checked or updated during startup. Use
pi updateto apply npm/git package updates, while interactive mode now checks for available package updates in the background and notifies you when updates are available (#1963)
Added
- Added
--fork <path|id>CLI flag to fork an existing session file or partial session UUID directly into a new session (#2290) - Added
createLocalBashOperations()export so extensions and SDK callers can wrap pi's built-in local bash backend foruser_bashhandling and other custom bash integrations (#2299)
Fixed
- Fixed active model selection to refresh immediately after dynamic provider registrations or updates change the available model set (#2291)
- Fixed tmux xterm
modifyOtherKeysmatching forBackspace,Escape, andSpace, and resolved raw\x08backspace ambiguity by treating Windows Terminal sessions differently from legacy terminals (#2293) - Fixed Gemini 3 and Antigravity image tool results to stay inline as multimodal tool responses instead of being rerouted through separate follow-up messages (#2052)
- Fixed bundled Bedrock Claude 4.6 model metadata to use the correct 200K context window instead of 1M (#2305)
- Fixed
/reloadto reload keybindings from disk so changes inkeybindings.jsonapply immediately (#2309) - Fixed lazy built-in provider registration so compiled Bun binaries can still load providers on first use without eagerly bundling provider SDKs (#2314)
- Fixed built-in OAuth login flows to use aligned callback handling across Anthropic, Gemini CLI, Antigravity, and OpenAI Codex, and fixed OpenAI Codex login to complete immediately once the browser callback succeeds (#2316)
- Fixed OpenAI-compatible z.ai
network_errorresponses to trigger error handling and retries instead of being treated as successful assistant output (#2313) - Fixed print mode to merge piped stdin into the initial prompt when both stdin and an explicit prompt are provided (#2315)
- Fixed OpenAI Responses replay in coding-agent to normalize oversized resumed tool call IDs before sending them back to OpenAI Codex and other Responses-compatible targets (#2328)
- Fixed tmux extended-keys warning to stay hidden when the tmux server is unreachable, avoiding false startup warnings in sandboxed environments (#2311 by @kaffarell)