Release notes
Oh My Pi v18.11.0
@oh-my-pi/pi-agent-core
Breaking Changes
- Removed
ApprovalDetailsOptions;formatApprovalDetailstakes onlyargsagain, since the compact approval prompt no longer shows tool details (#15642 by @H4vC)
Added
AgentTool.delegationGuidance: instructions a same-name extension replacement inherits in its description when it delegates to the native tool (#15477 by @iliaal)CompactionPreparation.lastSummarizedEntryIdandCompactionResult.providerReplayThroughEntryId: a remote compaction that could only fit the history before the kept tail reports the last entry its native history covers; later entries replay normally (#15712 by @H4vC)
Fixed
- Fixed native (OpenAI/Codex) remote compaction refusing or truncating sessions that fit the window: its preflight counted the JSON-escaped request, inflating quote-, backslash- and newline-heavy tool output such as disassembly by ~10–20%; it now counts text as the model reads it (#15712 by @H4vC)
- Fixed OpenAI V1/V2 remote compaction failing outright when the history, kept tail included, exceeds the context window (a large final response or tool output after the last check); it retries on the history before the kept tail (#15712 by @H4vC)
- Fixed fitted output caps overflowing the context window on strict hosts (llama.cpp-family) after turns with many parallel tool results; chat-template framing is now charged per locally counted message (#15699)
- Fixed leaked DeepSeek DSML markup reaching saved history from reasoning blocks and from turns that also made a valid tool call (#15485)
@oh-my-pi/pi-ai
Fixed
- Fixed parallel tool calls failing with "Tool call arguments are not valid JSON" on some OpenAI-compatible gateways, such as Gemini (#15682 by @Zzz141592653)
- Fixed Anthropic fallback-credit redemption losing its credit on errors that only mention
400in their text, such as an overload message (#15702 by @H4vC) - Fixed Anthropic fallback-credit redemption sending an extra
fallback-credit-2026-06-01beta when the refused request used a newer one (#15702 by @H4vC) - Fixed Anthropic fallback-credit redemptions failing when the refused turn included unsigned thinking (#15702 by @H4vC)
- Fixed turns ending without automatic retry when a gateway forwards Go's
use of closed network connectiontransport error; it now retries like other dropped connections (#15385) - Fixed Codex SSE streams failing with an abort instead of retrying when the first event stalls (#15542)
- Fixed Codex (ChatGPT subscription) requests with reasoning disabled, such as judges, titles, commit messages, and thinking
off, leaving effort to the server default; they now send the lowest supported effort, ornonewhere the model accepts it (#15514) - Fixed a Codex account whose token OpenAI rejects (401/403) continuing to show its last quota as healthy;
omp usagenow drops the stale report andomp auth-gateway checkreports the credential as failing (#15439) - Fixed usage reports being served indefinitely while their provider keeps failing; the last successful report is now shown for at most 24 hours after it was fetched (#15439)
- Fixed Responses requests 400ing (DeepSeek: "The
reasoning_textin the thinking mode must be passed back to the API") after a tool call whose arguments were invalid JSON: the call is now replayed with its parse diagnostic instead of being dropped and leaving a trailing[Orphan tool result]note (#15568) - Fixed DeepSeek on OpenAI-compatible gateways leaving doubled-pipe DSML markup (
</||DSML||parameter>) in assistant text and reasoning (#15485) - Fixed sessions failing every request with
400 … thinking or redacted_thinking blocks in the latest assistant message cannot be modifiedafter a response fell back to another model mid-turn (e.g. through a gateway that opts into Anthropic server-side fallback); the turn now replays one model's reasoning, and a session already stuck on such a turn recovers by dropping that turn's reasoning and retrying (#15654 by @abilliontokens) - Fixed
omp auth-gateway's Anthropic/v1/messagesstream misnumbering content blocks after a redacted reasoning block, which misrouted every later delta in index-addressed clients (#15654 by @abilliontokens)
@oh-my-pi/pi-catalog
Added
- Added
local/nemotron-streaming-en-0.6bfor local streaming English dictation (#15759 by @daaximus). - Added SambaNova Cloud (
sambanova) as a provider:/login sambanovawith an API key, and the live/v1/modelsroster with its prices, reasoning models, and Gemma 4 image input (#14986 by @rjuez00)
Changed
- OpenCode Go requests now go to the current
https://opencode.ai/inference/go/v1endpoint instead of the legacy/zen/goone (#15722)
Fixed
- Fixed OpenCode Go's
deepseek-flashalias showing $0, unknown limits, and no reasoning instead of the V4.1 Flash rate card and capabilities (#15357) - Fixed OpenCode Go's Gemini 4 Argon Contributor failing with an unsupported protocol and thinking level; it now uses the native Gemini endpoint (#15722)
@oh-my-pi/pi-coding-agent
Added
- Added a microphone button beside Send in Tern: click to record, click Stop to finish, then review and submit the transcription yourself. Clicking while it says Starting… cancels a slow first model load (#15759 by @daaximus).
- Added local Nemotron streaming dictation: words appear while you speak, and the microphone waits for the recognizer to be ready before recording (#15759 by @daaximus).
- Added agent frontmatter
structured: true: that agent's task spawns keep theyieldtool and itsoutputschema validation whiletask.structuredis off (#15717 by @alphastorm) - The composer stays usable while a tool approval is pending: sending a message denies the call and steers the turn with it, so the agent knows why it was denied (#15642
…