Breaking Changes
- Removed built-in Google Gemini CLI and Google Antigravity support. Existing configurations using those providers must switch to another supported provider.
New Features
- Cloudflare AI Gateway provider support with
CLOUDFLARE_API_KEY/CLOUDFLARE_ACCOUNT_ID/CLOUDFLARE_GATEWAY_ID, default model resolution, and/logindisplay. See docs/providers.md#cloudflare-ai-gateway. (#3856 by @mchenco). - Moonshot AI provider support with
MOONSHOT_API_KEY, default model resolution, and/logindisplay. - Mistral Medium 3.5 built-in model support. See docs/providers.md#api-keys. (#4009 by @technocidal).
- Extension APIs can replace finalized
message_endmessages, wrap custom editor factories viactx.ui.getEditorComponent(), and observe thinking level changes. See docs/extensions.md#message_start--message_update--message_end, docs/extensions.md#widgets-status-and-footer, and docs/extensions.md#thinking_level_select. PI_CODING_AGENT_SESSION_DIRconfigures session storage from the environment. See docs/usage.md#environment-variables.
Added
- Added Cloudflare AI Gateway as a built-in provider with
CLOUDFLARE_API_KEY/CLOUDFLARE_ACCOUNT_ID/CLOUDFLARE_GATEWAY_IDsetup, default model resolution,/logindisplay support, and provider documentation (#3856 by @mchenco). - Added Moonshot AI as a built-in provider with
MOONSHOT_API_KEYsetup, default model resolution, and/logindisplay support. - Added Mistral Medium 3.5 built-in model support via
@mariozechner/pi-ai(#4009 by @technocidal). - Added routed OpenAI-compatible response model metadata in assistant messages, so providers such as OpenRouter can expose the concrete model used (#3968 by @purrgrammer).
- Added
PI_CODING_AGENT_SESSION_DIRas an environment equivalent to--session-dir(#4027). - Added
message_endextension result support for replacing finalized messages, enabling extensions to override assistant usage cost (#3982). - Added top-level
namesupport topi.registerProvider()so extension-registered providers can show a friendly name in/login(#3956). - Added
ctx.ui.getEditorComponent()so extensions can wrap the currently configured custom editor factory (#3935). - Added a
thinking_level_selectextension event for observing thinking level changes (#3888).
Fixed
- Fixed WSL clipboard image paste by passing the PowerShell save path directly instead of through a custom environment variable (#2469).
- Fixed Google Vertex Gemini 3 tool call replay for unsigned tool calls (#4032).
- Fixed blocked
edittool results rendering the rejection reason twice after interactive extension confirmation (#3830). - Fixed extension-triggered thinking level changes refreshing the interactive editor border immediately (#3888).
- Fixed the coding-agent README See Also link to point at
@mariozechner/pi-agent-core(#4023). - Fixed
grepandfindtool argument injection for flag-like search patterns (#4018). - Fixed PowerShell shell command output on Windows by only spawning detached processes on Unix (#4013 by @picasso250).
- Fixed Bun package manager
node_modulesdiscovery whennpmCommandis configured to use Bun (#3998 by @thirtythreeforty). - Fixed edit and edit-preview access failures to report filesystem errors correctly (#3955 by @rwachtler).
- Fixed
ProcessTerminalsizing to useCOLUMNSandLINESbefore falling back to 80x24 (#4004). - Updated
@anthropic-ai/sdkto clear GHSA-p7fg-763f-g4gf audit findings (#3992). - Updated
@mariozechner/clipboardto an attested release so package managers with trust policies do not reject installs (#3946). - Fixed project context discovery to load
AGENTS.MDfiles in addition toAGENTS.md(#3949). - Fixed
/handoffto use compacted session context instead of pre-compaction raw messages (#3945). - Fixed DeepSeek V4 Flash
xhighthinking support so requests map to DeepSeek'smaxreasoning effort (#3944). - Fixed Anthropic streams that end before
message_stopto be treated as errors instead of successful partial responses (#3936). - Fixed generated OpenAI-compatible DeepSeek V4 reasoning compatibility outside the direct DeepSeek provider (#3940).
- Fixed idle follow-up submission to clear the editor like normal message submission (#3926).
- Fixed editor rendering artifacts for Thai Sara Am and Lao AM vowel characters (#3904).
- Fixed DeepSeek V4 Flash and V4 Pro pricing metadata to match current official rates (#3910).
- Updated the sandbox extension example lockfile to resolve the vulnerable
lodash-estransitive dependency (#3901). - Fixed DeepSeek prompt cache hits to be tracked from OpenAI-compatible usage responses (#3880).