Added
- Added
pi uninstallalias forpi install --uninstallconvenience
Fixed
- Fixed OpenAI Codex websocket protocol to include required headers and properly terminate SSE streams on connection close (#1961)
- Fixed WSL clipboard image fallback to properly handle missing clipboard utilities and permission errors (#1722)
- Fixed extension
session_starthook firing before TUI was ready, causing UI operations insession_starthandlers to fail (#2035) - Fixed Windows shell and path handling for package manager operations and autocomplete to properly handle drive letters and mixed path separators
- Fixed Bedrock prompt caching being enabled for non-Claude models, causing API errors (#2053)
- Fixed Qwen models via OpenAI-compatible providers by adding
qwen-chat-templatecompat mode that uses Qwen's native chat template format (#2020) - Fixed Bedrock unsigned thinking replay to handle edge cases with empty or malformed thinking blocks (#2063)
- Fixed headless clipboard fallback logging spurious errors in non-interactive environments (#2056)
- Fixed
models.jsonprovider compat flags not being honored when loading custom model definitions (#2062) - Fixed xhigh reasoning effort detection for Claude Opus 4.6 to match by model ID instead of requiring explicit capability flag (#2040)
- Fixed prompt cwd containing Windows backslashes breaking bash tool execution by normalizing to forward slashes (#2080)
- Fixed editor paste to preserve literal content instead of normalizing newlines, preventing content corruption for text with embedded escape sequences (#2064)
- Fixed skill discovery recursing past skill root directories when nested SKILL.md files exist (#2075)
- Fixed tab completion to preserve
./prefix when completing relative paths (#2087) - Fixed npm package installs and lookups being tied to the active repository Node version by adding
npmCommandas an argv-style settings override for package manager operations (#2072) - Fixed
ctx.ui.getEditorText()in the extension API returning paste markers (e.g.,[paste #1 +24 lines]) instead of the actual pasted content (#2084) - Fixed startup crash when downloading
fd/ripgrepon first run by usingpipeline()instead offinished(readable.pipe(writable))so stream errors from timeouts are caught properly, and increased the download timeout from 10s to 120s (#2066)