Release · Oh My Pi · can1357

Oh My Pi v18.18.9

What's new in Oh My Pi v18.18.9, released Nov 11, 2026 (). Newer: v18.20.0 (Nov 12, 2026)

Release notes

Oh My Pi v18.18.9

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

Added
  • Tool calls get ctx.toolCall.earlierEffectsSettled, which settles once the earlier calls of their message that run beside them and may write files (their approval, asked with their arguments, is not read) have finished; speculative results wait for those effects before validation, and cancellation while waiting prevents their commit (#16274 by @will-bogusz)

@oh-my-pi/pi-ai

Added
Fixed
  • Devin requests no longer send temperature: 0: the catalog's temperature-floor raises it to 0.0001, so session titles and Mnemopi memory extraction work on Devin instead of failing with Cascade's opaque invalid_argument and silently falling back to another model (#18423)
  • Auth-gateway /v1/messages now answers 400 invalid_request_error for output_config.format (and the pre-GA output_format) instead of returning 200 with output the schema never constrained, so structured-output clients fall back to prompt-side schemas (#18842)
  • Auth-gateway requests denied only the requested model (Codex ChatGPT account, Cursor plan) now switch to another account and keep the denied one usable for other models, instead of marking a working credential suspect; gateway rotation now follows the same rules as local sessions, including waiting out a sibling's short usage block

@oh-my-pi/pi-catalog

Added
  • Added the web/sofya search model (#18185 by @yusufgurdogan)
  • Added the temperature-floor compat axis, assigned 0.0001 on Devin so a request that pins temperature: 0 reaches Cascade as a value it accepts (#18423)
  • Added the keyless web/hackernews search engine model for Hacker News stories and comments
Fixed
  • Devin requests now identify as Devin CLI 3000.12.43, the current stable release, instead of 3000.11.205 (#18766 by @will-bogusz)
  • Fixed Gemini 4 Argon and Carbon on Command Code showing no reasoning levels; both now offer low, medium, and high
  • Fixed OpenCode Zen Gemini 4 Carbon requests going to the chat-completions endpoint instead of the native Gemini endpoint Zen serves it on
Removed
  • Removed Devin's retired SWE-1.6 Fast from the models omp lists before Devin's live model list loads (first start, or when Devin is unreachable) (#18795 by @will-bogusz)

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

Added
  • Added Sofya as a web search engine (web/sofya), using SOFYA_API_KEY or a stored sofya credential (#18185 by @yusufgurdogan)
  • Documented autoresearch mode in docs/autoresearch.md: activation and its git gates, the three stop conditions, the per-segment iteration cap that defaults to none, the harness METRIC/ASI contract, and the on-disk store that OMP_AUTORESEARCH_DB_DIR relocates (#18655 by @sjawhar)
  • Extensions can import the form theme, the native span helpers (styledSpans, compactText, rowsText and the rest of the ANSI/span conversions), the xd:// URL helpers (parseXdUrl and friends) and the cfgExtensionTranscriptPresenters setting handle from @oh-my-pi/pi-coding-agent instead of internal module paths, which stop the extension from loading when a file moves (#18849 by @materemias)
  • /context shows loaded instruction files and skills in their own categories; System Prompt marks where each one sits without counting it twice, and notes when an extension or SDK callback changed the prompt after it was built (#17971 by @c-w-z)
  • Added Hacker News search (web/hackernews): web_search queries scoped to site:news.ycombinator.com now search HN stories and comments through the keyless HN Search API before the configured engines
Changed
  • A role edit in another omp instance no longer rewrites the task and eval tool descriptions of every running session, which was invalidating the Anthropic prompt cache from the tool definitions onward and dropping signed thinking blocks on prefix-bound models; the per-call model advertisement is now frozen into the base prompt surface and changes only when that surface rebuilds (#18716, #18732 by @yuzu-octopus)
  • Agent-to-agent messages now always reach the recipient as user turns: one that ends a wait arrives right after it instead of inside the wait tool result, and none is sent with developer or system authority
  • Launch services now persist for non‑interactive sessions
  • The shell's built-in jq now behaves like jq 1.8.2 instead of jaq: the same output (number formatting, colors, -S, --indent, --seq, --stream), error messages and exit statuses, jq's full option set (--version reports jq-1.8.2), and its grammar and builtins (?//, $__loc__, modules, getpath/setpath creating missing paths, |= deletions, Oniguruma regexes, dates); it passes jq 1.8.2's own test suite
Fixed
  • Nix builds with withAppleFm = false no longer compile the Apple Foundation Models bridge with the host's Xcode (#18911)
  • Apple Silicon Nix builds include Apple Foundation Models support instead of silently building without it (#16584 by @honsunrise)
  • On Windows, the bash tool runs external commands when omp itself runs in an AppContainer sandbox, instead of failing every one with Permission denied (exit 126) (#18800 by @devjay4561)
  • Explicit Bash prompt rules remain enforced in yolo mode when a command also matches a critical pattern (#18788 by @jasonharrison).
  • Fixed job widgets and captions failing outright when the widget model errors: they now try the role's next model (retry.fallbackChains.widget, else the built-in smol defaults) and fail only once every candidate has (#18793)
  • Failed job-widget, job-caption, cache-warm, composer-prediction, and subagent completion-probe calls now keep the provider's error message in their session usage records (#18792)
  • /changelog, /changelog full, and /changelog last N now list releases newest-first, matching CHANGELOG.md and the startup release notes (#18809)
  • Fixed a read placed after a bash

…