New Features
- Self-update support for the npm scope migration:
pi update --selfnow supports the upcoming package rename from@mariozechner/pi-coding-agentto@earendil-works/pi-coding-agent. After the new package is published, existing global installs can update through the normal self-update flow; pi will uninstall the old global package and install the package name returned by the version check endpoint. - Interactive OAuth login selection: OAuth providers can now present multiple login choices in
/login, enabling provider-specific interactive authentication flows. See Providers. - JSONC-style
models.jsonparsing:models.jsonnow allows comments and trailing commas, making custom provider and model configuration easier to maintain. See Providers and Custom Providers.
Added
- Added interactive login selection support so OAuth providers can present multiple login choices (#4190 by @mitsuhiko).
Changed
- Changed
pi update --selfto honor the active package name returned by the Pi version check endpoint, defaulting to the current package when omitted and uninstalling the old global package before installing a renamed package. - Changed extension loading to use upstream
jiti2.7 instead of the@mariozechner/jitifork (#4244 by @pi0). - Changed
models.jsonparsing to allow comments and trailing commas (#4162 by @julien-c).
Fixed
- Fixed
pi -ptreating prompts that start with YAML frontmatter as extension flags instead of user messages (#4163). - Fixed pending tool results not updating in the live TUI after toggling thinking block visibility while the tool is running (#4167).
- Fixed
/copyreporting success on Linux without writing the clipboard on Wayland-only compositors (Hyprland, Niri, ...) by skipping the X11-only native addon on Linux and routing throughwl-copy/xclip/xselinstead (#4177). - Fixed HTML session exports to strip skill wrapper XML from rendered user messages (#4234 by @aliou).
- Fixed OpenAI-compatible chat completion streams that interleave content and tool-call deltas in the same choice.
- Fixed OpenAI Codex OAuth refresh failures writing directly to stderr while the TUI is active (#4141).
- Fixed OpenAI Codex Responses requests to send a non-empty system prompt (#4184).
- Fixed Kimi For Coding model resolution for the Kimi K2 P6 alias (#4218).
- Fixed Kitty inline image redraws to stay within TUI-owned terminal regions and avoid writing below the active viewport.
- Fixed Kitty inline image rendering by letting the terminal allocate image ids and bounding parsed image ids to valid values.
- Fixed inline image capability detection to disable inline images in cmux terminals.