github badlogic/pi-mono v0.58.0

6 hours ago

New Features

  • Claude Opus 4.6, Sonnet 4.6, and related Bedrock models now use a 1M token context window (up from 200K) (#2135 by @mitsuhiko).
  • Extension tool calls now execute in parallel by default, with sequential tool_call preflight preserved for extension interception.
  • GOOGLE_CLOUD_API_KEY environment variable support for the google-vertex provider as an alternative to Application Default Credentials (#1976 by @gordonhwc).
  • Extensions can supply deterministic session IDs via newSession() (#2130 by @zhahaoyu).

Added

  • Added GOOGLE_CLOUD_API_KEY environment variable support for the google-vertex provider as an alternative to Application Default Credentials (#1976 by @gordonhwc)
  • Added custom session ID support in newSession() for extensions that need deterministic session paths (#2130 by @zhahaoyu)

Changed

  • Changed extension tool interception to use agent-core beforeToolCall and afterToolCall hooks instead of wrapper-based interception. Tool calls now execute in parallel by default, extension tool_call preflight still runs sequentially, and final tool results are emitted in assistant source order.
  • Raised Claude Opus 4.6, Sonnet 4.6, and related Bedrock model context windows from 200K to 1M tokens (#2135 by @mitsuhiko)

Fixed

  • Fixed tool_call extension handlers observing stale sessionManager state during multi-tool turns by draining queued agent events before each tool_call preflight. In parallel tool mode this guarantees state through the current assistant tool-calling message, but not sibling tool results from the same assistant message.
  • Fixed interactive input fields backed by the TUI Input component to scroll by visual column width for wide Unicode text (CJK, fullwidth characters), preventing rendered line overflow and TUI crashes in places like search and filter inputs (#1982)
  • Fixed shift+tab and other modified Tab bindings in tmux when extended-keys-format is left at the default xterm
  • Fixed EXIF orientation not being applied during image convert and resize, causing JPEG and WebP images from phone cameras to display rotated or mirrored (#2105 by @melihmucuk)
  • Fixed the default coding-agent system prompt to include only the current date in ISO format, not the current time, so prompt prefixes stay cacheable across reloads and resumed sessions (#2131)
  • Fixed retry regex to match server_error and internal_error error types from providers, improving automatic retry coverage (#2117 by @MadKangYu)
  • Fixed example extensions to support PI_CODING_AGENT_DIR environment variable for custom agent directory paths (#2009 by @smithbm2316)
  • Fixed tool result images not being sent in function_call_output items for OpenAI Responses API providers, causing image data to be silently dropped in tool results (#2104)
  • Fixed assistant content being sent as structured content blocks instead of plain strings in the openai-completions provider, causing errors with some OpenAI-compatible backends (#2008 by @geraldoaax)
  • Fixed error details in OpenAI Responses response.failed handler to include status code, error code, and message instead of a generic failure (#1956 by @drewburr)
  • Fixed GitHub Copilot device-code login polling to respect OAuth slow-down intervals, wait before the first token poll, and include a clearer clock-drift hint in WSL/VM environments when repeated slow-downs lead to timeout
  • Fixed usage statistics not being captured for OpenAI-compatible providers that return usage in choice.usage instead of the standard chunk.usage (e.g., Moonshot/Kimi) (#2017)
  • Fixed editor scroll indicator rendering crash in narrow terminal widths (#2103 by @haoqixu)
  • Fixed tab characters in editor and input paste not being normalized to spaces (#2027, #1975 by @haoqixu)
  • Fixed wordWrapLine overflow when wide characters (CJK, fullwidth) fall exactly at the wrap boundary (#2082 by @haoqixu)
  • Fixed paste markers not being treated as atomic segments in editor word wrapping and cursor navigation (#2111 by @haoqixu)

Don't miss a new pi-mono release

NewReleases is sending notifications on new releases.