Release · Oh My Pi · can1357

Oh My Pi v18.4.9

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

Release notes

Oh My Pi v18.4.9

@oh-my-pi/pi-ai

Fixed
  • Fixed rejected HTTP 400 requests from consuming unbounded disk space by automatically cleaning up old request logs and enforcing a size limit.
  • Fixed unnecessary credential and session updates that could trigger needless authentication reloads in other running processes.
  • Fixed context-overflow recovery for Strata requests that exceed the model context limit but return no usage information.

@oh-my-pi/pi-catalog

Fixed
  • Fixed model catalog caching so unchanged catalogs refresh without unnecessary rewrites, and offline snapshots for endpoint-less models (such as Azure models) are now handled correctly across startups.

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

Added
  • Added opt-in stale-session garbage collection with omp gc --stale or gc.stale, removing orphaned session markers and terminal breadcrumbs and expiring old debug reports and collaboration replicas according to configurable retention limits.
  • Added RPC controls to cancel or steer individual foreground and background subagents without aborting the session.
  • Added RPC word-completion commands so web and IDE hosts can provide the same ghost-text completion available in the terminal editor.
  • Added an opt-in RPC ask-dialog mode that lets hosts render all questions together with checkbox or radio-button controls and submit their answers in one response.
  • Added SDK notifications when a session moves to a new persistence file, including the previous and new paths.
  • Added SDK APIs to inspect and cancel background jobs, including their command, working directory, process IDs, exit status, and captured output.
Changed
  • Improved the omp predict comparison view with an interactive native interface, table rows, action controls, and clearer status information.
  • Improved MCP authorization prompts with clickable links, native copy/open context menus, and a clearer URL layout.
  • RPC hosts are now notified when omp cancels an expired select, confirm, input, or ask dialog, allowing stale UI prompts to be closed.
  • Limited saved bash, Python, and JavaScript evaluation output artifacts to 16 MB by default while preserving both the beginning and latest output; configure the limit with tools.artifactMaxBytes, or set it to 0 for unlimited output.
Fixed
  • Fixed /wt on filesystems without copy-on-write cloning, including NTFS, so unchanged files are not incorrectly marked modified and staged edits, additions, and deletions retain the correct contents.
  • Fixed Windows Ctrl+V taking about a second to paste by avoiding unnecessary PowerShell clipboard checks.
  • Fixed local:// paths being misinterpreted as local filesystem paths by the read, write, and search tools.
  • Fixed read handling of semicolon-separated URLs, local paths, and line selectors so each entry is processed independently.
  • Fixed session persistence conflicts between multiple omp processes, preventing lost or interleaved turns and continuing in a new session file when necessary.
  • Fixed session image handling to avoid unnecessary rewrites, preserve images after interrupted writes, and prevent garbage collection from removing images that are referenced again.
  • Reduced unnecessary disk writes and improved persistence efficiency across sessions, model data, configuration, and background jobs.
  • Fixed the native composer showing the main session's effort level instead of the selected subagent's level.
  • Fixed the omp predict comparison view and MCP authorization prompt rendering with their full native interfaces, including clickable link actions.

@oh-my-pi/pi-natives

Added
  • Added readTextFromClipboard() for reading plain text from the system clipboard without starting a subprocess.
  • Added Shell.pids() to retrieve the IDs of still-running processes spawned by an in-flight shell command.

@oh-my-pi/pi-tui

Added
  • Exported wordCompletionQuery() so hosts outside the editor can apply the same prose eligibility rules used by ghost-text word completion.
  • Added a full-featured Background jobs view with selectable jobs, live status and elapsed time, working directory, process IDs, exit code, command, tailing output, and cancellation for running jobs.
Changed
  • OutputSink now limits artifact files to 16 MiB by default while preserving the beginning and end of oversized output and marking the omitted bytes. Set artifactMaxBytes: 0 to keep artifacts unbounded; dump() reports omitted bytes and full-output references identify sampled artifacts.
Fixed
  • Reduced unnecessary composer startup-cache writes and ensured the cache database is released when it closes on Windows.
  • Fixed Shift+Enter and Ctrl+Enter prompt behavior in Windows Terminal 1.24 and earlier; Shift+Enter now inserts a newline and Ctrl+Enter sends a follow-up, matching other platforms.
  • Improved the Tern native terminal experience across background jobs, settings, debugging, logs, extension management, interactive shell, and provider streams: views remain usable and navigable, preserve output and selection behavior, support keyboard scrolling, and keep key actions accessible.
  • Fixed multi-line labels in Background jobs and multi-line titles in native-terminal prompts so their formatting remains readable.

@oh-my-pi/pi-utils

Added
  • Added tryAcquireFileLock, a non-blocking file-lock helper that returns null when the lock is already held.
  • Added an unref option to AsyncDrain, allowing applications to use long batch windows without keeping the process alive.
Changed
  • Improved logging efficiency and configurability by batching routine file writes, flushing urgent records promptly, adding on-demand logger.flush() support, and allowing file log levels to be limited with OMP_LOG_LEVEL. Log files are created only when needed, and obsolete log and audit files are cleaned up automatically.

@oh-my-pi/pi-wire

Added
  • Added terminal scrolling support through the TSP scroll operation, allowing keyboard scrolling of the terminal scroller when supported.
  • Added a terminal focus event for requesting keyboard focus on editors and inputs, or returning focus to the preferences sheet.

What's Changed

…