New Features
- Terminal capability overrides — Override detected terminal hyperlink, image, and truecolor support. See Capability Overrides.
- Extension UI prompt events — Integrations can distinguish active agent work from time spent waiting for
ctx.uiprompts. See Extension UI prompt events. - RPC queue clearing — Retrieve and clear queued steering and follow-up messages with
clear_queue. See RPCclear_queue. - Fullscreen selection copy controls — Disable automatic selection copying in fullscreen mode and use Ctrl+X to copy the active selection. See UI & Display.
- DeepSeek V4 Flash Vision (experimental) — Use the vision-capable model through the built-in DeepSeek provider. See API Keys.
Added
- Added
ui_prompt_startandui_prompt_endextension events so host integrations can distinguish active agent work from waiting on user-facingctx.uiprompts (#8355 by @cristinaponcela). - Added
detectSupportedImageMimeTypeFromFile()to the public library exports (#8600 by @xl0). - Added inherited experimental vision-capable
deepseek-v4-flash-vision-expmodel support. - Added transcript usage notices for compaction and branch summaries when cache miss notices are enabled.
- Added RPC
clear_queueto retrieve and remove queued steering and follow-up messages (#8432). - Added environment variables and advanced settings for overriding auto-detected terminal hyperlink, image, and truecolor capabilities (#8665).
- Added
fullscreenCopyOnSelectto disable automatic fullscreen selection copy; when disabled,Ctrl+Xcopies the active text selection before falling back to the last assistant message, while/treestill copies the selected message (#7720).
Fixed
- Fixed toggling thinking visibility clearing partial output from running Bash tools (#8611).
- Fixed Windows shell aborts crashing Pi when
taskkill.exeis unavailable onPATH(#6596). - Fixed resumed sessions corrupting the next appended entry when their JSONL file lacks a trailing newline (#8345).
- Fixed extension messages sent with
triggerTurn: falsewhile the agent is running being inserted between a tool call and its result, which made providers that validate message order reject the replayed history. They are now appended once the turn's tool results are in (#8537). - Fixed compaction and branch summaries forcing
toolChoice: "none"(#8649, #8638). - Fixed large tool results crossing the auto-compaction threshold being sent to the provider before compaction. Pi now compacts between tool execution and the next assistant response in the same run, and restores interactive progress when that run resumes (#6879).
- Fixed Google Vertex requests failing with
HttpsProxyAgent is not a constructorwhen the bundled Node.js runtime uses an HTTP(S) proxy (#8610). - Fixed saving a default model from a non-empty model scope so it remains available in that scope.
- Fixed inherited
@file autocomplete ranking to prefer direct and shallower matches over similarly ranked nested paths (#8669). - Fixed inherited OpenAI-compatible streams serializing thinking signatures repeatedly during streaming (#8671).
- Fixed inherited main-screen rendering crashing when image-heavy output exceeded V8's string length limit (#8028).
- Fixed inherited fullscreen double-click word selection splitting paths and kebab-case tokens on
/and-(#8676). - Fixed inherited Cloudflare AI Gateway catalogs omitting supported
workers-ai/*passthrough models. - Fixed inherited OpenAI-compatible reasoning replay to merge consecutive streamed text and summary
reasoning_detailsdeltas. - Fixed inherited OpenRouter reasoning controls so reasoning-mandatory models do not receive
effort: "none"(#8614 by @davidbrai). - Fixed inherited OpenAI-compatible Chat Completions ignoring an explicitly requested
toolChoicewhen no tools are defined. - Fixed inherited fragmented Mistral tool calls splitting when continuation chunks omit the tool-call ID (#8387).