v16.4.0
@oh-my-pi/pi-agent-core
Added
- Added the
ThinkingLevel.Max("max") configuration option, mapping to theEffort.Maxtier for supported models.
Fixed
- Fixed remote compaction behavior for Codex Responses Lite (GPT-5.6 family) models across both V1 and V2 endpoints to ensure correct formatting and routing.
- Fixed an issue where aborted tool-result hooks could trigger subsequent provider calls before the abort signal fully settled.
@oh-my-pi/pi-ai
Added
- Added "max" as a first-class reasoning effort option across providers (including Anthropic, Google, Bedrock, and OpenAI), supporting a maximum reasoning budget of 32,768 tokens.
- Added and standardized the "Responses Lite" wire contract and transport, enabling automatic activation via model-level catalog flags, moving tools and instructions into developer input items, disabling parallel tool calls, and stripping image detail instead of falling back to the full transport.
- Added support for concurrent reasoning summaries on Codex Responses using the sequential-cutoff streaming contract.
- Added Novita API-key login with authenticated key validation and automatic NOVITA_API_KEY environment variable discovery.
Changed
- Recognized Pro Lite as a paid plan tier for OpenAI Codex models.
Fixed
- Fixed xAI SuperGrok multi-account rotation to correctly treat HTTP 403 credit exhaustion and spending limit errors as usage limits, triggering a credential rotation to a sibling account.
- Fixed error classification for AWS credential-resolution failures (AwsCredentialsError) to correctly map them as authentication failures.
- Fixed OpenAI-compatible chat-completions streams to preserve vLLM-style trailing cached-token usage chunks, ensuring accurate cacheRead and billable input session statistics.
- Fixed xai-oauth/grok-4.5 Responses requests to omit the unsupported reasoning.summary field while preserving the reasoning.effort payload.
- Fixed Codex OAuth credential selection to re-check blocked accounts during ranking and clear stale usage-limit blocks once live usage indicates recovery.
- Fixed sequential-cutoff reasoning summaries duplicating section headers across Codex reasoning items by tracking the cumulative summary response-globally, so replayed sections and replay-only items no longer re-emit text earlier thinking blocks already streamed.
@oh-my-pi/pi-catalog
Breaking Changes
- Redesigned reasoning effort ladders to be wire-exact, removing the shifted five-tier effort mapping. Models now expose exactly the effort tiers their upstream APIs accept, mapped 1:1. Removed SHIFTED_FIVE_TIER_EFFORT_MAP, ANTHROPIC_ADAPTIVE_EFFORT_MAP_4_TIER, and per-host xhigh-to-max alias maps. Selecting an unsupported tier now automatically clamps down via clampThinkingLevelForModel. Devin effort routing is now mapped 1:1 onto per-tier siblings.
Added
- Added support for new models: Grok 4.5 family, Dolphin Mistral 24b Venice Edition, GLM5.2-Fast, and Zenmux variants for GPT-5.6 (Luna, Sol, and Terra).
- Added Novita as a model provider, including public catalog discovery, pricing, limits, modality, reasoning, and tool metadata.
- Added useResponsesLite to Model and ModelSpec to support the Responses Lite transport, enabled by default for the GPT-5.6 family.
- Added Effort.Max ("max") as a first-class user-facing thinking level above xhigh.
Changed
- Enabled reasoning effort controls for Grok 4.5 and updated support flags for additional Grok variants
- Standardized reasoning effort levels to use a wire-exact max tier across all model providers, including Devin routing and Ollama configurations.
- Updated costs and context windows for various models in the catalog.
@oh-my-pi/pi-coding-agent
Breaking Changes
- Renamed the bundled agent explore to scout, including its configuration keys, prompt files, and task definitions. Any configurations, allowlists, or invocations referencing explore must now use scout.
- Changed the public
selectLaunchAdapter()result fromDapResolvedAdapter | nulltoLaunchAdapterSelection; callers must handleadapter,unavailable, andnoneoutcomes.
Added
- Added a native, first-class max thinking tier for supported models, including a new thinkingBudgets.max configuration setting, support in CLI flags (--thinking, :max model suffixes), and terminal theme customization (thinkingMax border color and icons).
Fixed
- Fixed Go debug launches falling back to native debuggers when Delve is unavailable; nested modules and
go.workworkspaces now resolve local Delve adapters before PATH, newly installed adapters are detected without restart, and missing adapter errors include install or configuration guidance. (#5037) - Fixed a memory leak (large retained JavaScriptCore heaps) in the TUI during session transcript rebuilds and refreshes by properly handling snapcompact archive image frames.
- Fixed a crash in interactive TUI sessions (Cannot set cwd while another same-realm JS runtime is running) when the JS evaluation worker falls back to the in-process inline path.
- Fixed compaction aborting when Amazon Bedrock credential resolution fails, ensuring it now falls back to trying an authenticated model.
- Improved OpenAI prompt cache hit rates for full-context forks by persisting inherited provider prompt-cache keys separately from session IDs, and added a --prompt-cache-key flag for explicit cache affinity.
- Fixed Codex advisor requests incorrectly using local session labels as provider session IDs, switching to stable UUIDv7 provider identities.
- Fixed macOS stdio MCP servers launching in detached sessions, allowing tools like xcrun mcpbridge to successfully trigger TCC Apple Events permission prompts.
- Fixed the ask tool timeout behavior to automatically select the recommended option if the UI selector does not settle.
- Fixed LSP workspace diagnostics for Go workspaces to correctly recognize go.work roots and include all specified modules in go build package patterns.
- Fixed interactive OAuth login (/login xai-oauth) delaying success messages; credentials are now reported immediately while model metadata refreshes in the background.
- Fixed a crash in the Windows bash tool when a timeout occurs while a piped command is streaming output.
- Fixed subagent yield tool calls being discarded when a soft request budget aborts the assistant turn before the yield event completes.
- Fixed --tools filtering in interactive sessions incorrectly disabling deferred MCP tools from configured servers.
- Fixed kept-alive task subagents entering infinite provider-call loops after an IRC wake and terminal yield.
@oh-my-pi/pi-tui
Fixed
- Fixed terminal flickering during session resume, replacement, or resizing on terminals that do not support synchronized output.
What's Changed
- fix(coding-agent): preserve fork prompt cache affinity by @roboomp in #5045
- fix(advisor): use UUIDv7 Codex session IDs by @roboomp in #5046
- fix(compaction): retry after AWS credential failures by @usr-bin-roygbiv in #5030
- fix(ai): rotate xai-oauth on SuperGrok credit exhaustion by @cexll in #4913
- fix(coding-agent): keep same-realm setCwd from killing TUI sessions by @cexll in #4907
- fix(mcp): keep macOS stdio servers attached by @roboomp in #4990
- fix(agent): commit yield before budget abort by @roboomp in #5014
- fix(cli): preserve MCP tools when --tools filters built-ins by @roboomp in #5016
- fix(bash): avoid aborting native timeout signals by @roboomp in #5023
- fix(ai): preserve vLLM cached token usage by @roboomp in #5025
- fix(tui): prevent destructive paint flicker by @roboomp in #5033
- fix(lsp): handle go.work workspace diagnostics by @roboomp in #5043
- fix(agent): stop terminal yield loops after IRC wake by @roboomp in #4971
- fix(session): skip snapcompact frames in collapsed transcripts by @roboomp in #4984
- fix(ai): recheck codex blocks during selection by @roboomp in #4985
- fix(auth): decouple login success from model refresh by @roboomp in #4994
- fix(coding-agent): restore ask tool timeout fallback by @roboomp in #4999
- fix(ai): suppress xAI OAuth reasoning summaries by @roboomp in #5001
Full Changelog: v16.3.15...v16.4.0