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_callpreflight preserved for extension interception. GOOGLE_CLOUD_API_KEYenvironment variable support for thegoogle-vertexprovider 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_KEYenvironment variable support for thegoogle-vertexprovider 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
beforeToolCallandafterToolCallhooks instead of wrapper-based interception. Tool calls now execute in parallel by default, extensiontool_callpreflight 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_callextension handlers observing stalesessionManagerstate during multi-tool turns by draining queued agent events before eachtool_callpreflight. 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
Inputcomponent 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+taband other modified Tab bindings in tmux whenextended-keys-formatis left at the defaultxterm - 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_errorandinternal_errorerror types from providers, improving automatic retry coverage (#2117 by @MadKangYu) - Fixed example extensions to support
PI_CODING_AGENT_DIRenvironment variable for custom agent directory paths (#2009 by @smithbm2316) - Fixed tool result images not being sent in
function_call_outputitems 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-completionsprovider, causing errors with some OpenAI-compatible backends (#2008 by @geraldoaax) - Fixed error details in OpenAI Responses
response.failedhandler 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.usageinstead of the standardchunk.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
wordWrapLineoverflow 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)