Release · Oh My Pi · can1357

Oh My Pi v18.18.2

What's new in Oh My Pi v18.18.2, released Nov 8, 2026 (). This is the latest version.

Release notes

Oh My Pi v18.18.2

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

Added
  • Added canReplayRemoteCompactionFrom() to determine whether a model can replay provider-native compaction produced by another model.
Fixed
  • Fixed GenAI message-content capture configured in omp's own .env files so it continues to apply when those values are no longer exposed through the process environment.
  • Fixed compaction preparation for remote OpenAI compaction that the active model cannot replay, ensuring the content is expanded and remains available for compaction.
  • Fixed generic remote compaction requests to /chat/completions so gateway sessions retain the correct per-request model attribution.

@oh-my-pi/pi-ai

Added
  • Added edit execution context support for Cursor handlers, allowing integrations to identify frames that materialize native file edits and detect when server-side edits have settled.
  • Exported Responses replay utilities so callers can determine which turns are sent as native payload items when estimating or trimming context.
Fixed
  • Fixed rotated credential pools reporting a stale sibling credential's authentication error instead of the exhausted credential's usage-limit status and reset time.
  • Fixed OpenAI image edits with multiple input images failing because image parameters were duplicated.
  • Fixed Cursor-provider reads of xd:// devices failing due to incorrect device URL handling.
  • Fixed Anthropic sessions getting stuck after refused turns containing thinking or redacted-thinking blocks when followed by a steer, reminder, or new prompt.
  • Fixed Codex Responses requests losing tool namespaces and developer-provided additional tools when replayed through the authentication gateway.
  • Fixed Gemini malformed responses being treated as unhandled stop reasons and losing token usage; they are now handled as transient transport errors.
  • Improved Cursor compatibility with TLS-intercepting proxies that block HTTP/2 by falling back to HTTP/1 for subsequent turns.

@oh-my-pi/browser-relay

Added
  • The browser extension now requests Chrome’s downloads permission so relay tabs can report where downloads were saved to omp.

@oh-my-pi/pi-catalog

Fixed
  • Fixed model catalog pricing and output-limit metadata for Mistral alias IDs, including the Mistral Vibe CLI default model, by applying the metadata of their aliased models.
  • Updated xAI Grok 4.20 beta and multi-agent aliases to use the current Grok 4.20-0309 pricing, including the higher rates for prompts exceeding 200K tokens.

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

Breaking Changes
  • logoutCredential() now accepts an AgentSession instead of a model registry and session ID. Hosts must install a scoped-model refresher with AgentSession.setScopedModelsRefresher(); InteractiveMode and InteractiveModeContext no longer accept refreshScopedModelsAfterLogin.
  • SessionStorage.hasAssistantTurn() is replaced by the optional scanLines(path, visit), which session listings use to recover both a missed assistant record and a first prompt past the 4 KB head; custom storages that implemented hasAssistantTurn() must implement scanLines() instead.
Added
  • The shell's ls builtin supports macOS/BSD -O: a long listing gains the file-flags column (hidden, compressed, uchg, restricted, …) instead of rejecting the option, so ls -lO works and flags are visible again.
  • The shell ships sd as a builtin, so sd FIND REPLACE [FILES]… find-and-replace (regex or -F literal, in place or -p preview) works without the binary installed.
  • Added omp gc --strip (or gc.strip), which removes provider replay data (thinking signatures, encrypted reasoning, cached native responses, request controls) from sessions idle for gc.stripAfterDays (default 30, --strip-after-days), including subagent and archived transcripts; stripped sessions still resume on any model.
Changed
  • The sloppy edit tool (*** Find/*** Replace) now rejects only the operations that fail to match and applies the rest, including across files; the result lists each rejected operation against the file as written, and the call fails only when no file changes. Payloads that do not parse still apply nothing.
  • A bash call that overlaps another one (parallel calls, or a call while one runs in the background) now runs in a copy of the session shell, so it sees the session's variables, functions, options, and working directory from before the other command; what it sets still does not persist.
  • The ./c continue shortcut now interrupts a running turn and continues it, in the main session and in focused subagent views, instead of failing with "Agent is already processing" or doing nothing.
  • Updated system prompts with the ⁂ section marker and improved task completion guidance, including proportional verification, efficient file reading, batching independent operations, and stopping after changes are verified.
  • Added faster isolated-subagent startup for ovnfs-backed checkouts, while preserving the existing baseline behavior for repositories with nested repositories or submodules.
  • Improved extension and plugin management: /extensions now lists and toggles extensions from configured extension packages and installed plugins, and marketplace sources resolve relative and bare-name paths consistently with Claude Code.
  • Scoped model lists now refresh after logout, model-catalog refreshes, and RPC login or logout, so available models stay synchronized with authentication and provider changes.
  • Added source actions to LSP code_actions, including actions such as Organize Imports, with application by title or index.
  • Browser automation now supports downloads from relay tabs and broader role/ selectors for implicit landmarks and structural roles.
  • Improved skill and session workflows: skills created or installed during a session become immediately discoverable, and user-attributed custom messages that start a turn receive the appropriate prompt setup.
  • Validated security findings now display validation status, timestamp, and summary information.
  • Dual-mode language servers retain pushed diagnostics alongside pull diagnostics, preserving build and lint errors across edits.
  • Improved session navigation and reliability when switches, forks, branches, context resets, or new sessions overlap; requests are processed in order without freezing or misrouting messages.
  • Improved eval and interactive execution behavior, including preservation of JavaScript state and output across asynchronous failures, clearer startup and runtime errors, and better reporting when kernels or runtimes terminate.
  • Parent-to-subagent messages now appear as IRC cards in live and Agent Hub transcripts.
  • Paused agent turns can allow the machine to sleep at safe boundaries and restore sleep prevention when resumed.
  • Improved JSON-mode shutdown handling so final tool events and buffered output are preserved.
  • Improved task efficiency and responsiveness for isolated subagents, file search, browser guidance on Linux/X11, and long-running or cancellable operations.
  • Updated the tui.mouse setting documentation to accurately describe wheel-scrolling behavior.
  • mnemopi.dbPath values beginning with ~ now resolve relative to the home directory.
  • Disabling the Codex provider now prevents its configuration from overriding omp settings, and providers can be disabled without applying their other settings.
  • omp gc now shows a progress bar for each slow step (listing and scanning sessions, scanning transcripts for blob refs, archiving) on interactive terminals.
  • omp gc --strip and --compress start work immediately instead of first reading every session's metadata, and --strip processes several sessions at once with a running tally of transcripts stripped.
  • omp gc without --apply now says up front that it is a dry run.
Fixed
  • Fixed omp --resume showing (no messages)

…