Release · Oh My Pi · can1357

Oh My Pi v18.9.0

What's new in Oh My Pi v18.9.0, released Oct 11, 2026 (). Newer: v18.12.6 (Oct 21, 2026)

Release notes

Oh My Pi v18.9.0

@oh-my-pi/pi-agent-core

Fixed
  • Fixed stale queue updates when queued steering is adopted, withdrawn, or added to the transcript, ensuring queue listeners consistently receive the latest state.

@oh-my-pi/pi-ai

Breaking Changes
  • Removed the retainTextSignature option from consumeGoogleStream and streamGoogleGenAI; Google routes now consistently preserve text reply signatures.
  • Custom SessionsApi implementations must implement permits(provider, sessionId, credentialId).
Added
  • Exported matchesReplacementCredential and isSameOAuthAccount to help identify credential replacement and account ownership.
  • Added AuthStorage.sessions.permits(provider, sessionId, credentialId) for checking whether a stored account may serve a session restricted to an account pool.
  • Added judgeQuestions() for loading judge questions from JSON with inferred choice labels and answer types, plus renderQuestion() for templated instructions.
Changed
  • Devin chat turns now use the native Devin CLI sampling settings by default, while continuing to honor explicitly configured temperature, top-p, and stop sequences.
  • Added parentSessionId and minimizeEffort stream options. Branched side requests can reuse a conversation's prompt cache, and supported models can run them at their lowest effort without losing cache reuse.
  • Improved cross-host continuation for supported models so confirmed prior reasoning is preserved as reasoning context rather than exposed as <think> text in replies.
Fixed
  • Fixed Anthropic subscription quota not appearing in /usage when an OAuth token is supplied through ANTHROPIC_API_KEY.
  • Fixed custom OpenAI-compatible Responses streams truncating reasoning and incorrectly invoking custom tools with empty input.
  • Fixed Codex WebSocket prewarming so optional service tiers and model routing are handled consistently with normal requests.
  • Fixed OAuth sign-in result pages breaking or rendering injected markup when provider errors or callback values contain special characters.
  • Fixed Anthropic requests failing when tools are added to a conversation or when resumed sessions no longer include earlier tools.
  • Fixed Anthropic requests rejecting tall or oversized historical screenshots by resizing or re-encoding images to the host's limits.
  • Improved compatibility with Anthropic-compatible endpoints that reject prompt-cache options by retrying without unsupported caching features and reporting the disabled capability.
  • LiteLLM proxy logs now group requests by omp conversation instead of displaying a separate session for each request.
  • Fixed Gemini-family integrations echoing prior thinking as visible fenced thinking blocks; thinking is now restored as model reasoning across Google, Vertex, Antigravity, Gemini CLI, and Factory Droid routes.
  • Fixed Gemini-family integrations losing text reply signatures needed for subsequent requests across Google, Vertex, Antigravity, Gemini CLI, and Factory Droid routes.
  • Fixed Cursor integrations losing previously recorded reasoning, including signed and redacted reasoning, when continuing or resuming a conversation.
  • Fixed invalid auth.accountPolicies entries referring to unavailable accounts from preventing startup, account selection, or login; such entries are now skipped with a warning.
  • Fixed Factory Droid Claude turns with thinking disabled from replaying unsupported earlier thinking blocks, and aligned high-effort Sonnet 5.5 thinking behavior with the native client.
  • Fixed side requests for GPT-6 Responses and Codex models from losing prompt-cache context or applying unsupported reasoning-effort configuration changes.

@oh-my-pi/pi-catalog

Fixed
  • Fixed GLM-5.3-FlashX on Zhipu Coding Plan so bundled context, image, and reasoning-level capabilities are reported correctly.
  • Fixed OpenRouter Decisions endpoint derivation when the chat base URL has a trailing slash.
  • Fixed GPT-6.1 Sol Ultrafast usage pricing to apply OpenAI's published premium rates for the OpenAI API and Codex included usage.
  • Fixed GPT-6 Sol, GPT-6.1 Sol, and GPT-6 Luna so changing reasoning effort preserves prompt caching.

@oh-my-pi/pi-coding-agent

Added
  • Added browser target discovery and control, allowing agents to list the user's available pages and operate an already-open Tern browser block instead of opening a new view.
  • Added the ctx.annotations extension API for submitting and collecting /annotate feedback on text and diffs.
  • Added configurable Extra Context Files under /settings → Context, allowing custom instruction filenames without editing YAML.
  • Added optional composer predictions via composer.predictions, which suggest the user's next message as ghost text after each turn and support Tab or Right to accept the suggestion. Predictions use an additional model request and are included in session usage and /stats.
  • Added structured async job metadata exposing native job status and child-agent identity alongside the job ID.
  • Enhanced tui.autoGraph: smart with data-aware chart recommendations, including labels, grouping, ordering, shading, reference rows, measure direction, and suitable chart types.
  • Added retry.fallbackOn to restrict model fallback to quota errors (usage-limit) or to non-quota errors (except-usage-limit), while retaining any as the default.
  • Added omp usage reset commands to list saved Codex and Claude rate-limit resets and redeem a selected reset from the CLI, scripts, or auth-broker clients.
  • Added warnings for saved Codex and Claude resets that are nearing expiry, including affected accounts and redemption targets; interactive sessions also show a one-time conversation warning.
  • On macOS, the computer tool now keeps the display awake while operating and reports when the screen is locked or asleep.
  • Tern browser open results now indicate when a page is not currently visible, helping agents direct users to hidden picture-in-picture or omp-tab views.
Changed
  • Improved computer.window() failure messages by listing open windows grouped by application, with the requested application shown first.
  • Standalone binary updates and installers now use Stencil's build service with SHA-256 verification; recent updates use substantially smaller verified patches, and --binary --ref accepts release tags.
  • After an omp upgrade, an unused older browser relay started by omp is automatically replaced on the next browser call so relay fixes take effect without manual shutdown.
  • Saved Codex and Claude resets in non-interactive sessions are now automatically redeemed when they are about to expire, unless autoRedeem: no is configured.
  • Background Claude reset salvage now checks only accounts with eligible usage, reducing unnecessary usage-limit traffic.
  • Reasoning provenance is preserved when /btw answers are promoted or turns are moved, preventing provider summaries from being sent as model-generated reasoning.
Fixed
  • Fixed unconfigured judge roles incorrectly falling back to a Google Vertex Claude model instead of the configured tiny, smol, or default models.
  • Fixed omp --resume -p continuing stale todos instead of printing the answer and exiting.
  • Fixed /btw, IRC, and composer-prediction requests losing the conversation prompt cache on Codex and after thinking-level changes on GPT-6 models.
  • Fixed Tern browser operations on about:blank and no-op navigations hanging until timeout.
  • Fixed SDK and RPC sessions using stale MCP tool lists when servers changed during extension loading.
  • Fixed installing plugins from non-GitHub Git URLs and prevented inline credentials from being persisted in plugin metadata or lockfiles.
  • Improved recovery from repeated OpenAI Responses request timeouts during productive long-running sessions.
  • Fixed JavaScript eval syntax errors lacking source location and a useful code frame.
  • Fixed Collab sessions failing to reconnect after network interruptions or device sleep.

…