Zum Hauptinhalt springen

Oh My Pi, erweiterter Terminal-Coding-Agent auf Basis von Pi

Diese Seite zeigt höchstens die 120 neuesten Releases aus offiziellen Quellen. Sie beansprucht keine vollständige Versionshistorie.

Versionshinweise ohne deutsche Übersetzung stehen im englischen Original.

Diese Ansicht zeigt 111 von 144 erfassten Einträgen. Ältere Einträge sind hier nicht geladen.

Neueste Version:v18.6.1
Angezeigte Releases:111
Quelle:GitHub Releases
RSS

Neueste Releases (111)

v18.6.1Neu

v18.6.1

4. Oktober 2026

  • •Fixed native OpenAI context compaction for sessions containing many screenshots, preventing image-size estimates from incorrectly causing compaction requests to be rejected.
  • •Fixed compatibility with Command Code DeepSeek and other DeepSeek-family models by preserving the reasoning context required for warm OpenAI Responses sessions and correctly handling incomplete DSML tool-call wrappers in visible output.
  • •Fixed waiting for subagent follow-up messages: responses now appear as background jobs that can be waited on or canceled, and are delivered only once.
  • •Improved /switch autocomplete so model and role suggestions use the same relevance ordering as the model picker, including support for @role aliases.
  • •Fixed concurrent skill:// searches blocking other filesystem operations and delaying subagent artifact publication.
  • •Fixed compatibility checks for browser relays from other OMP versions and added guidance for resolving stale connection-refused errors.
  • •Fixed follow-up hashline edits being incorrectly rejected after earlier edits shifted anchored lines, while continuing to reject genuinely stale line references.
  • •Fixed pi.exec() reporting exit code 0 when a process was terminated by a timeout or signal; terminated processes now report code -1.
  • •Fixed /collab guests being unable to respond to setting-change approval and tool-issue report consent prompts.
  • •Fixed follow-up hashline edits being rejected as anchored on lines "never displayed" after an earlier edit shifted those lines, when the replacement carries the anchored content; genuinely stale line numbers are still rejected (#14254 by @abilliontokens).
  • •Fixed long /btw answers in Tern being clipped with no way to scroll: /btw now answers in the scrollable BTW history sheet (#14331 by @H4vC)
  • •Fixed /btw answers longer than 4 KiB being cut off with […truncated] once they finished (#14331 by @H4vC)
  • •In Tern, Esc puts the BTW history sheet away while an answer keeps streaming (/btw reopens it); x cancels the answer (#14331 by @H4vC)
  • •Fixed concurrent searches through host-provided filesystem callbacks so they no longer starve other asynchronous filesystem operations, and ensured canceled searches release promptly.
  • •Fixed the Space key in the Git diff pane so it stages or unstages the focused hunk instead of scrolling or acting on the wrong change.
v18.6.0Neu

v18.6.0

4. Oktober 2026

  • •When a DeepSeek turn ends with raw <|DSML|…> tool-call text that could not be parsed into a real call, and no tool call was made, the broken markup is now removed from the message before it is saved to history. The agent then tells the model the tool call failed, shows it the correct format, and asks it again, at most twice in a row. Previously the markup stayed in history, and the agent stopped as if the model had finished (#14202 by @H4vC).
  • •Fixed Antigravity chat and image requests sending an outdated client version when the model list came from cache, which could make newer models such as Claude Opus 5.5 unavailable.
  • •When a DeepSeek model writes a broken DSML tool call (for example with the opening <|DSML|tool_calls> and <|DSML|invoke> tags missing), its closing tags are now kept in the streamed text instead of being dropped. This lets the agent remove exactly the broken call while keeping any text after it (#14202 by @H4vC).
  • •Fixed DeepSeek V4 model IDs and the V4.1 Flash alias lacking version information in model identity and dashboards (#14194).
  • •Fixed Antigravity models such as Claude Opus 5.5 and Sonnet 5.5 disappearing after omp models refresh. When the update check failed, omp reported an outdated Antigravity client version (2.8.0), so the server left the newer models out of the list. The fallback version is now 2.19.1.
  • •DSML tool calls from DeepSeek models are now parsed on every host. This includes local servers (llama.cpp, LM Studio, vLLM), custom providers from models.yml, and gateways that weren't on the old list of supported hosts. Before, a complete <|DSML|tool_calls> envelope from these hosts showed up as plain text and the tool never ran (#14202 by @H4vC).
  • •The /models Roles view shows which saved model preset is in effect, and Ctrl+←/→ (or p/P on the role rows, for macOS where Ctrl+←/→ switches Spaces) switches to the next or previous one, in Tern and text mode (#14210 by @H4vC)
  • •Picking a model for a role in /models now puts the cursor on the model list, so ↑/↓ choose a model and Enter assigns it right away instead of moving through the sidebar and dropping the role selection; ← still reaches the providers (#14210 by @H4vC)
  • •Sped up secret redaction on long conversations: it no longer slows down as history grows (#14213 by @H4vC)
  • •Startup is faster with plugins that bundle large dependency trees: the extension loader no longer re-reads and re-checks the same files while loading them (e.g. ~280 ms → ~185 ms with the IDA MCP plugin) (#14219 by @H4vC)
  • •Fixed an EPIPE: broken pipe unhandled rejection crashing the session when a debug adapter, eval kernel, IDA worker, or RPC server exits mid-write (seen on Windows) (#14196 by @andrebrait)
  • •Fixed the Frustration page splitting DeepSeek V4 provider variants and the V4.1 Flash alias into separate model-version rows (#14194).
  • •Fixed Alt+Up (restore queued steering), arrows and other escape-sequence keys on Windows acting as Esc (interrupting the turn) and typing [1;3A into the editor when the console host relays them one byte at a time (#14216 by @H4vC).
  • •fix(catalog): agy anthropic models display by @H4vC in https://github.com/can1357/oh-my-pi/pull/14197
  • •fix(stats): merged DeepSeek V4 frustration rows by revision by @roboomp in https://github.com/can1357/oh-my-pi/pull/14199
v18.5.1Neu

v18.5.1

3. Oktober 2026

  • •Added provider-reported usage cost, the unnormalized provider ID, and the requested model ID to CostEstimatorContext, allowing cost estimators to use the cost already recorded for a request instead of recomputing it from token counts.
  • •Improved tool-result supersession so path reads with selectors are tracked independently from bare-path reads, while failed results supersede only earlier failed results for the same key.
  • •Fixed parallel tool calls with reused or empty IDs executing with another call’s arguments or merging results; each call now executes and reports its own payload.
  • •Fixed completed tool calls being retried after a transient provider-stream read error; incomplete calls from the affected turn are now discarded.
  • •Fixed previously read code being removed from context when a subsequent read returned a summary, truncated content, or an error.
  • •Fixed intent tracing for tools that define i as a real argument, preserving the argument and its declared schema order.
  • •Fixed DeepSeek and OpenAI Responses requests failing or entering retry loops when replayed tool calls contained repaired arguments, orphaned tool results, or missing reasoning context.
  • •Fixed requests to models that do not support sampling parameters from failing with HTTP 400 errors when accessed through non-native providers. Sampling parameters are now omitted for incompatible models, including requests made by chat judging, title generation, skill descriptions, and memory extraction.
  • •Fixed OpenRouter BYOK usage being reported as free; provider inference costs and applicable credits charges are now included in session and status-line cost reporting.
  • •Fixed Claude background and long-running bash commands losing their requested timeout and being terminated at the default deadline.
  • •Fixed cleared credential cooldowns being incorrectly restored by another concurrently running session.
  • •Fixed retryable Cursor provider errors, such as “Unable to reach the model provider,” from prematurely ending a turn.
  • •Fixed resumed OpenAI Responses sessions losing earlier plaintext reasoning, which could cause self-hosted Responses servers to reprocess the entire context after a restart.
  • •Fixed non-retryable HTTP 4xx responses being retried when their error messages contained transient-error terms such as “server_error,” “timeout,” or “overloaded.”
  • •Fixed Cursor models receiving earlier multi-step tool calls as if they occurred simultaneously instead of in their original execution order.
v18.5.0NeuBreaking Change

v18.5.0

3. Oktober 2026

  • •Fixed AWS credential_process on Windows stripping backslashes from unquoted paths such as C:\Users\me\helper.exe; commands are now split with Windows command-line rules there, matching the AWS CLI.
  • •Added closeModelCache() (@oh-my-pi/pi-catalog/model-cache) to release the shared default models.db handle so an agent directory can be deleted on Windows; the next cache access reopens it
  • •task.completionProbeMs is replaced by the on/off setting task.completionProbe; an existing task.completionProbeMs migrates automatically (0 → off, any period → on).
  • •SessionStorage.claimSessionFile(sessionPath) is replaced by claimSession(sessionId, sessionPath) (which also refuses when the path now holds a different session), and sessionOwnerLeasePath() by tryAcquireSessionLease(sessionId): custom storage backends that implemented claimSessionFile must implement claimSession to keep cross-process ownership (#14095 by @andrebrait)
  • •/dump all writes a zip to the temp directory with the main transcript, the LLM request JSON, and one file per subagent transcript (nested subagents included, killed ones marked aborted); the TUI copies the archive path to the clipboard. Plain /dump is unchanged (#13908 by @H4vC)
  • •Added /effort [level] to set the thinking level without switching models: bare /effort opens a picker, and completions offer only the current model's levels within the session effort ceiling. Its description includes thinking and intelligence so either term finds it; Shift+Tab still cycles levels (#12222 by @Xytronix, #14113 by @andrebrait).
  • •Added a per-call model selector to task items, eval agent(), and workpool(): a provider/model[:level] pattern or role alias, or an ordered array of them, that takes precedence over task.agentModelOverrides and the agent definition. Selection is an ordered preference — requested candidates are tried before configured fallbacks — and the spawn fails at preflight instead of silently routing elsewhere when the selector is the ambiguous literal default/inherit with or without a :level suffix (use @default), is blank or comma-only, carries an invalid thinking suffix, matches no available model, or sits on the batch container instead of a tasks[] item. A requested model without working credentials fails the spawn instead of running on the parent's model, and the error tells the caller to report the unavailable model rather than substitute another. A pool applies its selector to each worker's first turn and reuses that worker's session afterwards (#12229 by @Xytronix, #13669 by @andrebrait).
  • •Subagent completion estimates are asked after 2, 5, 10 and 30 more minutes, then hourly, instead of at a fixed interval, and only for subagents the main agent spawns in an interactive session; print (-p), RPC, ACP and SDK runs and nested subagents never request them.
  • •/changelog, /context, /tools, /hotkeys, /advisor status, /memory view|queue|stats|diagnostics, and the mental-model views no longer add their report to the transcript. In text mode a report that fits shows above the editor like /btw and Esc dismisses it; a taller one (such as /changelog full) opens as a full-screen page on the alternate screen, scrolled with the arrow/page/Home/End keys and the wheel, and Esc returns to the screen exactly as it was. In the native terminal it opens as a sheet like /usage whose long reports scroll, closed with Esc or Close (#14136 by @H4vC).
  • •/jobs, /mcp help|list|resources|prompts|notifications and /ssh help|list no longer add their report to the transcript either: they show the same way, and natively /jobs opens the live background-jobs sheet the jobs pill opens (/jobs full keeps the full command lines in a report sheet) (#14138 by @H4vC).
  • •The welcome banner (in the terminal and as Tern's native card) is now the omp logo and wordmark with the version and a tip. It no longer shows the "Welcome back!" greeting, the model (the status line does), LSP servers or recent sessions (/resume), and the # / ! $ prompt prefixes moved into the rotating tips.
  • •Auto-retry now retries the same model once after a mid-stream socket drop that had already streamed reasoning or tool calls, instead of switching to the fallback chain on the first attempt; the fallback chain is consulted only if that retry also fails. This applies to every provider, since a dropped socket says nothing about the model (#13747 by @abilliontokens)
  • •Fixed native git patch apply, checkout, stash, cherry-pick, and worktree removal on Windows ignoring core.autocrlf: LF patches failed to apply to CRLF checkouts and clean CRLF files were treated as modified
  • •Fixed the command image-URL uploader stripping backslashes from Windows paths in its command template (C:\tools\upload.exe {file} ran C:toolsupload.exe)
  • •Fixed reading a SQLite database (local or by URL) and closing prompt history leaving the database file locked on Windows
v18.4.12Neu

v18.4.12

2. Oktober 2026

  • •Added createAuthGatewayRouter, the auth-gateway's routes without the HTTP listener, and serveAuthGatewayStdio, which serves them as JSON lines ({"id", "path", "body"} in, {"id", "status", "body"} out) for a parent process.
  • •Added omp auth-gateway stdio: a long-lived inference server for other programs speaking JSON lines on stdin/stdout ({"id", "path": "/v1/chat/completions", "body"} in, {"id", "status", "body"} out) with your own sign-ins; a request's model takes any --model selector (@smol, sonnet, @commit,@smol) and falls back along retry.fallbackChains when an attempt fails.
  • •Reduced CPU use while streaming with several agents active: extension message_update handlers are delivered through a lighter queue, and RPC no longer processes subagent events unless a client subscribed to them (#13244 by @iliaal).
  • •Fixed web search stopping at Perplexity's anonymous signup wall instead of falling back to the next configured provider (#12756).
  • •Fixed imported Claude Code sessions on Windows reporting the encoded C--… directory name instead of the registered project path when the transcript records no cwd (#13363 by @jchanghong023).
  • •Fixed JavaScript eval wait()/handle.wait() ignoring a positional timeout; h.wait(30) now waits up to 30 seconds like { timeout: 30 }, and mixing an options object with positional arguments throws a TypeError (#12720 by @F0Rextasy).
  • •Fixed Herdr and other lifecycle-tracking extensions showing a collab guest (omp join) as idle while the host is working; extension-initiated turns (pi.sendMessage with triggerTurn, pi.sendUserMessage) are refused as host-only while joined instead of running on the guest's local model (#13156 by @Fruitseller).
  • •Fixed omp update failing with "Malformed npm registry response … missing version" on registries such as Sonatype Nexus that answer the /<pkg>/latest lookup with the full package document or a non-manifest body; the updater now reads the version from the package's dist-tags (#14115).
  • •Fixed wait and proc:// failing with "Daemon list request timed out" when the project daemon broker hangs; background jobs and agents are still reported, and proc:// shows that services are unavailable (#14120 by @H4vC).
  • •Fixed agent://<id> showing an agent's previous published output as current while that agent runs a follow-up or wake turn; the read now says the output is from the previous run (#14120 by @H4vC).
  • •Fixed proc:// listing agents as running when they have no turn in flight; their rows now say the run is stale or already finished, as the jobs tool does (#14120 by @H4vC).
  • •Changed subagents to skip their own builds, tests, and smoke runs and leave verification to the main agent, avoiding CPU spikes from many subagents verifying at once.
  • •Changed Ctrl+Z in Tern's native composer to undo the last edit (TSP undo event) instead of suspending
  • •Fixed multi-second temp directory removal stalls on Windows by forcing a major GC before the first deletion retry (#13044 by @jchanghong023).
  • •fix(eval): accept positional timeout in JS wait() via optionsArg by @F0Rextasy in https://github.com/can1357/oh-my-pi/pull/12720
v18.4.11Neu

v18.4.11

2. Oktober 2026

  • •Fixed lenient argument validation for tools such as yield: malformed tool-call JSON is now reported to the model instead of causing the tool to run with empty arguments.
  • •Fixed Cursor cached prompt token accounting to prevent duplicate input-token and cost reporting on cached turns.
  • •Fixed auth-broker credential handling so late token-refresh responses cannot restore logged-out credentials or overwrite a newer login.
  • •Fixed new Fireworks sessions failing on the first turn by updating the default model to kimi-k3, which is currently supported by Fireworks.
  • •Added goal management for RPC hosts and optional automatic goal continuation via goal.continuationModes: ["rpc"]. RPC clients can create, inspect, pause, resume, and remove goals, and view the current goal in get_state.
  • •Added --goal <objective> for interactive launches to begin a new session in goal mode without requiring the /goal command.
  • •Added periodic completion estimates for running subagents, with configurable polling through task.completionProbeMs and progress displayed in wait and task views.
  • •Added the RPC fork command (RpcClient.fork(entryId?), Python fork(entry_id=None)): it moves an RPC session onto a new session file holding the history up to and including any message entry (and the tool results answering a cut tool-call batch), together with the session's artifacts, or a copy of the whole session when entryId is omitted (#14077 by @andrebrait).
  • •Added reason ("branch", "fork" or "btw") to the session_before_branch and session_branch extension and hook events, so handlers can tell whether entryId is dropped (branch) or kept (#14077 by @andrebrait).
  • •Fixed skill-description and text-prediction data not respecting XDG directories; existing data is now migrated to $XDG_DATA_HOME/omp when applicable.
  • •Fixed subagent MCP calls ignoring the parent transport timeout, including configured OMP_MCP_TIMEOUT_MS and unlimited (timeout: 0) settings.
  • •Fixed fresh setups failing on the first turn when the automatically selected model did not support the configured thinking level.
  • •Fixed the read tool hanging and the TUI becoming unresponsive when asked to read standard input, FIFOs, or other non-regular files; these paths are now rejected.
  • •Fixed project configuration from ~/.omp being incorrectly applied to unrelated working directories under the user's home directory.
  • •Fixed omp update failing on standalone-binary installs when npm advertised a version whose GitHub release was never published; the updater now installs the newest published release instead (#12913).
v18.4.10Neu

v18.4.10

2. Oktober 2026

  • •streamProxy no longer finalizes a cut-off tool-call argument buffer into an executable auto-closed preview; such a call gets the parse-error arguments, so the tool is not run and the model receives the parse error (#13868 by @alphastorm)
  • •OpenAI remote compaction no longer sends stored native tool calls whose names are blank, longer than 128 characters, or contain whitespace or control characters. The outputs that answer those calls are dropped as well (#13985 by @Xytronix).
  • •Factory Droid login now reports the account's organization error instead of accepting a credential that every request rejects (#14032).
  • •Fixed Cursor turns being aborted with "Provider stream stalled while waiting for the next event" right after a long local tool finished; the provider now gets a full idle window once local tool work completes (#13682 by @eggpeat)
  • •Tool calls whose final argument JSON is cut off or followed by trailing text are no longer executed from an auto-closed preview. OpenAI Completions, Anthropic, Bedrock, Responses, Codex, Devin, Ollama, Apple, Cursor, GitLab Duo, and the in-band JSON dialects now give such a call the existing parse-error arguments, so the tool is not run and the model receives the parse error and can resend the call (#13868 by @alphastorm)
  • •Fixed Cursor "prepaid balance is used up" (USAGE_PRICING_REQUIRED) failures repeating on the same account instead of rotating to a sibling Cursor credential (#14053)
  • •Sessions no longer get stuck on 400 string_above_max_length after a model writes its whole tool invocation into the tool name. Tool calls with blank names, names longer than 128 characters, or names containing whitespace or control characters are dropped from replayed history, together with their tool results. This also applies when OpenAI Responses replays its stored native history (#13985 by @Xytronix).
  • •Fixed Bedrock Converse requests failing with a "bound to a different conversation" 400 after the system prompt changed under signed thinking: the request is retried once without replayed reasoning (#14019 by @nick-maderight)
  • •Fixed MiniMax Token Plan (minimax-code, minimax-code-cn) usage showing as free; turns now show the pay-as-you-go equivalent cost, with MiniMax-M3.1-Flash-Preview estimated at the MiniMax-M3 rate since it has no published price (#13695 by @eggpeat)
  • •Fixed namespaced LiteLLM models such as azure/gpt-5.6-sol-pro showing raw IDs instead of catalog display names when the proxy supplies no friendly name (#13964 by @gabrielrinaldi).
  • •Bundled prompt-cache lifetimes are recomputed from current policy instead of being inherited from previous generated models (#13966 by @anatoli-tsinovoy).
  • •Fixed HTTP 400 messages.N.output_config: Extra inputs are not permitted on later turns with Claude Sonnet 5.5, Opus 5, Opus 5.5, and Fable 5.1 on Google Vertex AI (#13994)
  • •Fixed Claude Opus 5.5 conversations failing with a "bound to a different conversation" 400 after the system prompt changed. Opus 5.5 now gets Sonnet 5.5's prefix-bound thinking handling on every provider, and Bedrock asks the server to drop stale signed thinking instead of rejecting the request (#14019 by @nick-maderight)
  • •Added global and per-advisor review cadence, including final-yield reviews and intervals that accumulate skipped transcript updates (#12385 by @olegpulatov).
  • •Added per-advisor catch-up policy and cancellable strict waiting, so asynchronous turn reviewers can run beside synchronous final reviewers (#12385 by @olegpulatov).
v18.4.9Neu

v18.4.9

1. Oktober 2026

  • •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.
  • •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.
  • •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.
  • •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 /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.
v18.4.8Neu

v18.4.8

1. Oktober 2026

  • •Fixed omp 18.4.3 and later crashing with a segmentation fault at startup on Apple silicon Macs running macOS older than 27; Apple Foundation Models support now loads only on macOS 27 and later
  • •Added an optional terminal section to theme JSON (background, foreground, chrome, widget, 16 ansi colors) naming the terminal a theme was made for, for hosts that paint the terminal themselves; the built-in themes ported from known schemes (GitHub, Nord, Dracula, Catppuccin, Solarized, Gruvbox, Tokyo Night, One, Monokai, Rosé Pine, Poimandres, Celestial) carry their scheme's.
  • •Fixed native-terminal (TSP) frames held back by unacknowledged credits waiting for an unrelated render after the 5-second stall fallback expired; a credit-blocked change now renders as soon as the oldest frame counts as stalled.
v18.4.6Neu

v18.4.6

1. Oktober 2026

  • •Added APIs for improving agent follow-up and steering workflow management, including moving queued follow-ups into steering with a single queue-change notification.
  • •Added support for trusted post-tool guidance via afterToolCall results, allowing additional context to be included in the next provider request, including after tool failures.
  • •Fixed forced tool calls failing for Claude Opus 5.5 and Sonnet 5.5 through Amazon Bedrock, including required-tool retries in plan mode.
  • •Added configurable catalog cache-warming lifetimes for cache-capable Claude models on Amazon Bedrock Converse, Bedrock Runtime, and Mantle, with 5-minute defaults and a 1-hour Converse option where supported.
  • •Fixed forced tool calls for Claude Opus 5.5 and Sonnet 5.5 on Amazon Bedrock Converse.
  • •Fixed the thinking-off setting for Command Code models served through the Responses API so they no longer produce reasoning when disabled.
  • •Added a live Background Jobs view that lets you monitor running background jobs without interrupting the transcript.
  • •Added agent lineage navigation, making it easy to move between subagents and the main session from the composer header.
  • •Added queued-message controls to the RPC clients and session API, including promotion of queued follow-ups to steering messages without duplicating text or losing attachments, plus explicit steering or follow-up behavior for prompts sent while the agent is busy.
  • •Added support for keeping Claude prompt caches warm on Amazon Bedrock and Bedrock Mantle according to configured model cache lifetimes and retention settings.
  • •In Tern terminals, the effort indicator now visualizes the selected thinking level and becomes a fireball at the maximum level.
  • •RPC prompt requests now acknowledge only after the message has been accepted for processing, queued, or routed to an extension command, so subsequent queue-management operations can act on the admitted message reliably.
  • •Idle recaps now appear as structured notices in the transcript rather than status-line messages.
  • •Attached-image descriptions for text-only models now time out after 20 seconds and stop when aborted, while preserving the image and informing the model when a description is unavailable.
  • •The status line now separates the session's own cost from total subagent spend, including nested, background, and resumed subagents, and matches the Agent Hub total.
v18.4.5Neu

v18.4.5

30. September 2026

  • •Added Factory Droid OAuth, HTTP streaming across Anthropic, OpenAI and Gemini protocols, and pool-aware usage reporting (#8577 by @will-bogusz, continued in #13276 by @DusKing1).
  • •AuthStorage.keys.setConfig(provider, value, { fallback: true }) registers a key that is used only when no stored OAuth or /login credential exists, instead of overriding them; removeConfig/clearConfig also clear these fallbacks (#13815 by @H4vC)
  • •Cursor turns now fall back to Cursor's HTTP/1 streaming transport when HTTP/2 is unavailable, surface Cursor's structured service errors, and resume from the last safe server checkpoint after a dropped stream (#11613 by @will-bogusz).
  • •Auth gateway checks for configured bearer tokens in URLs or forwarded/logged headers only after authentication; unauthorized requests use socket peers and redact unknown paths. Authenticated requests with misplaced tokens are rejected before provider dispatch (#13827 by @shawnkoh).
  • •Codex sessions no longer keep spending an account's credits after its plan limit is reached while another logged-in account still has plan usage left; new and ongoing sessions switch to that account, and credits are used only when no account has plan usage left (#13889).
  • •Runtime usage providers (usage.setProvider, extension registerProvider({ usage })) now key cached reports by their own cacheVersion, so reports written by processes without the override are no longer served to it (#13814).
  • •xAI OAuth accounts with active weekly credits no longer switch away solely because an uncertain monthly counter exceeds its limit (#13806).
  • •Cursor retries after a rejected conversation now keep the tool calls and results already completed in the turn, instead of re-sending the last message and redoing that work (#11613 by @will-bogusz).
  • •Added the hand-maintained Factory Droid catalog with account policy and regional discovery, upstream-specific reasoning controls, and base credit rates (#8577 by @will-bogusz, continued in #13276 by @DusKing1).
  • •Cursor's model list now comes from the account's own catalog: one entry per model lane with its real context window, image support, and effort ladder, only models the account can run, and Cursor's account default marked (#11613 by @will-bogusz).
  • •Fixed OpenRouter decision models that report no context/output limits (respan/span-01, respan/span-01-lite, respan/span-01-lite:free) missing from the judge model list (#13888)
  • •Fixed every google-vertex/claude-sonnet-5-5 request failing with 400 thinking.adaptive.block_binding: Extra inputs are not permitted (#13795)
  • •Fixed Cursor Grok 4.7 appearing as separate grok-4.7-{low,medium,high,xhigh} and -fast models that each also offered an effort selector; they now show as grok-4.7 and grok-4.7-fast with effort picked separately (#12773)
  • •Cursor fast lanes whose bundled rate card lists only the base rate now bill at Cursor's declared fast multiplier instead of the base rate (#11613 by @will-bogusz).
  • •Cursor's default (Auto) router is marked as variably priced instead of free (#11613 by @will-bogusz).
v18.4.4Neu

v18.4.4

29. September 2026

  • •Added Agent.replaceQueue() to replace one pending queue without changing the other queue (#11872 by @andrebrait).
  • •Added queued-message grouping so owned companion records and their user prompt are dequeued together in one-at-a-time mode (#11872 by @andrebrait).
  • •Added Agent.onQueueChange(), a listener called whenever a steering/follow-up queue mutator (enqueue, dequeue on delivery, clear, or restore) runs, so hosts can observe queue changes without polling (#11872 by @andrebrait).
  • •Fixed GPT models on Amazon Bedrock's OpenAI routes (bedrock-runtime and bedrock-mantle /openai/...) falling back to a local summary instead of OpenAI's native remote compaction; set remoteCompaction.enabled: false to opt out (#13311 by @mustafaabidali).
  • •Fixed native compaction on Amazon Bedrock's OpenAI routes skipping the provider's request setup, which sent Bedrock Mantle compaction to an unresolved {region} host and skipped configured headers and proxies; other providers' compaction requests are unchanged (#13311 by @mustafaabidali).
  • •Added the ultrafast service tier. It is sent to the OpenAI API as-is, and to Codex only for models that list it in their discovered service tiers; other providers never receive it. On Codex websockets, switching into or out of ultrafast starts a new response chain instead of reusing previous_response_id, matching the Codex CLI. Ultrafast turns are costed at standard rates because no Ultrafast price is published yet (#13782 by @H4vC).
  • •Changed to fall back to adaptive thinking when between_tools is used with xhigh effort
  • •xAI requests (xai, xai-oauth chat and image generation) honor XAI_BASE_URL again when the model uses the bundled https://api.x.ai/v1 endpoint; a custom baseUrl from models.yml still wins, and xai-oauth OAuth access tokens always stay on the bundled endpoint.
  • •Fixed Claude on Amazon Bedrock's Anthropic Messages routes (/anthropic on bedrock-runtime and bedrock-mantle): runtime requests no longer fail with a request-metadata 400, and both routes use Anthropic's on-demand compaction (#13311 by @mustafaabidali).
  • •/usage no longer shows an always-empty gpt-4 requests row for Cursor accounts on usage-based plans; the Cursor Models and Other Models meters remain (#13726 by @will-bogusz).
  • •Cursor turns routed through an HTTP proxy now finish instead of hanging after the response completes (#13724 by @will-bogusz).
  • •Fixed Codex requests sending priority (and scale) to models whose discovered service tiers list other tiers but not that one, matching the Codex CLI; an empty or missing list is treated as not reported, so priority is still sent and /fast keeps working on accounts whose /models lists no tiers (flex is always allowed) (#13782 by @H4vC).
  • •Fixed Codex priority cost: a turn the backend reports as served at default is no longer billed at the priority multiplier (#13782 by @H4vC).
  • •Added compat.bedrockMessagesApi for anthropic-messages models: detected from a Bedrock /anthropic base URL under any provider id, it drops tool strict, fits metadata.user_id to Bedrock's pattern, and enables on-demand compaction; set it in models.yml to opt a proxy or an ANTHROPIC_BASE_URL reroute in, or false to opt out (#13311).
  • •Added GPT-6.1 Sol pricing for openai-codex (gpt-6.1-sol, gpt-6.1-sol-wm: $2 input, $10 output, $0.10 cached input), so Codex usage shows cost instead of $0 (#13782 by @H4vC).
v18.4.3Neu

v18.4.3

29. September 2026

  • •Added transformAssistantMessagePreservesToolCalls, letting stream speculation and direct speculative candidates run under a transformAssistantMessage that never rewrites streamed tool calls
  • •Added authorizeLaunch to the speculative execution host and coordinator so tool stream sessions can start host-approved effectful work (e.g. subagents) before their call dispatches
  • •Fixed auto-compaction with the remote method failing on long Codex/OpenAI sessions with "Remote compaction input exceeds the context window" (#13611)
  • •Fixed passive tool-call context being repeated when several calls in one batch returned the same text; identical per-call context is now delivered once, at its first position (#13633 by @andrebrait)
  • •Added Command Code usage limits (5-hour, weekly, and credit balance) to /usage and the status line (#13666 by @riicodespretty)
  • •Reduced per-token CPU and allocations while streaming: the leaked-thinking scanner used for OpenAI-compatible and custom endpoints no longer allocates per character, chat-completions and Bedrock look up a delta's content block in constant time, Google, Gemini CLI, Codex, and chat-completions streams skip raw SSE line capture unless an onSseEvent listener is attached, and event streams drain backlogs without Array#shift (#13650 by @H4vC).
  • •Added Command Code's typesafe/jev decision model for the judge role (#13666 by @riicodespretty)
  • •Added Command Code's DeepSeek V4.1 Flash Fast model (#13666 by @riicodespretty)
  • •Added Command Code's Claude Sonnet 5.5 model (#13666 by @riicodespretty)
  • •Added trust-forbidden=#true for optional login validate checks, so a key check that answers 403 keeps the pasted key instead of rejecting it (#13666 by @riicodespretty)
  • •hosted-image #false and image-model #false now remove a hosted image flag or image model that a class rule grants (#13666 by @riicodespretty)
  • •Added support for Claude Sonnet 5.5 model with image and text inputs
  • •Added new compatibility rules for Anthropic Sonnet family enabling mid‑conversation system features and disabling forced tool choice
  • •Added the web-search-model, hosted-image, and image-model catalog axes (Model.webSearchModel, hostedImage, imageModel). web-search now comes from the model's lineage and API (GPT-5+ Responses, Claude 4+ Messages, Gemini 2+), so proxies and gateways that expose these models inherit it.
  • •Renamed the Codex image model openai-codex/gpt-image-1 to openai-codex/gpt-image-2 to match what the Codex backend runs (gpt-image-2-codex); saved openai-codex/gpt-image-1 selectors resolve to the new id.
v18.4.2

v18.4.2

28. September 2026

  • •Added tool_execution_end events that fire as each tool call settles for live UI updates
  • •Emitted tool result messages in the order of tool calls, preserving call order regardless of completion order
  • •Reduced repeated token-counting work with a bounded, model-scoped cache of exact text and short-message fragment counts.
  • •Fixed an issue where streaming tool call arguments could be incorrectly modified in-place
  • •Fixed successful Cursor agent turns being treated as context overflows, which ran overflow compaction and showed "Compaction freed too little context to make progress" while /context read well under the window; overflow detection now uses the reported context size instead of input totals summed across a turn's model calls (#13608 by @H4vC)
  • •Fixed Anthropic requests with thinking enabled failing on models whose output ceiling cannot fit the minimum thinking budget; thinking is now disabled for those requests instead (#13359 by @jchanghong023)
  • •Fixed Cursor native Grep/Glob results showing no matches or raw output, Write failing to create files, StrReplace missing edits beyond the read limit, and Read/Shell/Delete results misreporting content or metadata (#13600).
  • •Improved model cache invalidation efficiency by implementing deep equality checks on cached rows when database version signals change
  • •Optimized read-row cache by enabling granular cache-hit logic across concurrent connection handles
  • •The shell's cp builtin accepts macOS's -c (clone where possible, else copy; same as --reflink=auto).
  • •Removed unused timestamp metadata from model usage tracking queries to optimize database overhead
  • •Improved session storage reliability by using atomic inode identity verification for lock management
  • •Optimized internal role chain resolution and caching to reduce event-loop contention during judge initialization
  • •On macOS, the shell's cp builtin now also clones (copy-on-write) when overwriting an existing file, instead of rewriting its data; the destination keeps its permissions, and hard-linked destinations are still written in place.
  • •The find tool now fails with a timeout error after 20 seconds instead of blocking the turn when the judge model stalls.
v18.4.1Breaking Change

v18.4.1

28. September 2026

  • •Fixed fitted output caps overshooting the context window by a few tokens on strict Chat Completions hosts (e.g. llama.cpp), causing 400s.
  • •Fixed native remote compaction sending requests already estimated past the model's context window (e.g. after re-expanding history behind another provider's native boundary); it now fails fast so the next configured compaction method runs (#13502)
  • •Fixed V2 remote compaction retrying a standalone stream error event three times and reporting it as stream closed before response.completed; the upstream status, code, and message (e.g. context_too_large) are now surfaced (#13502)
  • •Fixed extension-provided usage reports missing from broker-connected clients when the broker does not have that provider (#13579).
  • •Fixed signed LiteLLM thinking_blocks being dropped on openai-completions tool-call turns (#13407).
  • •Fixed Anthropic turns ending on a bare aborted error with no retry when the connection dropped mid-response (typically during long thinking). The first-party Anthropic transport runs on node:https, whose Bun shim reports a response cut off mid-body as Error("aborted") (ECONNRESET) — indistinguishable from a cancellation, so it classified as unknown. It now surfaces as "The socket connection was closed unexpectedly…", the same wording native fetch uses, so the drop classifies as transient and the turn is retried; caller aborts keep their original error (#13384 by @jerryfane)
  • •Fixed a stale Z.AI quota block pinning sessions to a fallback model after live usage recovered (#13343).
  • •Fixed OAuth credentials being re-minted on every provider 401 during an outage; recently minted tokens are reused for auth recovery (#13350) (#13485 by @ShivamB25).
  • •Fixed Claude usage reports intermittently dropping an account's saved resets when the separate reset probe was rate-limited or timed out; the last known saved resets now stay visible until the probe answers again (#13474 by @schickling-assistant)
  • •Fixed transient Windows EPERM when creating the provider in-flight lock failing the request instead of retrying (#13334 by @1Morganmore).
  • •Fixed rolling per-minute TPM/RPM 429s worded as quota errors being treated as exhausted quota and ending the turn (#13253).
  • •Fixed keyless Anthropic-compatible endpoints receiving Authorization: Bearer N/A and X-Api-Key: N/A headers (#13043 by @jchanghong023).
  • •Fixed legacy Windsurf Enterprise API keys being rejected because they were always sent with the Devin session-token prefix (#12960).
  • •Fixed an exhausted Cursor "Other Models" pool blocking Grok and Composer, which Cursor bills to its own pool (#13198).
  • •Fixed Anthropic OAuth requests leaving the agent system prompt without its own cache breakpoint: the breakpoint on the short Claude Code identity block now moves to the last system block, so a request whose messages miss the cache (such as the first after a compaction) reads the cached system prompt instead of writing it again (#13104, #13556 by @aktanazat).
v18.4.0Breaking Change

v18.4.0

28. September 2026

  • •Updated telemetry attribute names from the pi.* namespace to the omp.* namespace.
  • •Changed LimitsApi.rotate() to return a CredentialRotation object ({ switched, afterSiblingWait? }) instead of a boolean. Check .switched explicitly, since the returned object is always truthy.
  • •Added image metadata to hosted OpenAI image-generation results, including the model used and each generated image’s dimensions and quality.
  • •Redesigned the browser page displayed during OAuth login.
  • •Fixed Anthropic accounts remaining blocked after quota resets, including for broker-connected clients, while preserving independent authentication and model-limit restrictions.
  • •Fixed concurrent usage refreshes repeatedly probing providers after failures, reducing unnecessary usage-endpoint requests.
  • •Fixed Gemini and Antigravity usage and cost reporting when upstream responses omit prompt-token counts or report more cached tokens than prompt tokens.
  • •Fixed credential failover after authentication errors so stored credentials rotate through every distinct sibling instead of stopping after one attempt; rotation can also wait briefly for a temporarily blocked healthy sibling to become available.
  • •Fixed native judge responses without token counts producing invalid usage and cost values.
  • •Fixed Cursor usage, cost, and context accounting to include final input, cache, reasoning, and output metrics, improving compaction and handoff sizing.
  • •Fixed Cursor MCP tool calls routed through external executors being returned as text instead of tool calls.
  • •Fixed Cursor shell-tool timeouts being displayed in milliseconds rather than seconds.
  • •Fixed fetch requests over Unix sockets when PI_PROXY is configured.
  • •Fixed Ollama chat turns being recorded with zero cost; usage is now priced using the model’s cost information.
  • •Fixed Anthropic requests failing after native compaction when per-message effort settings were present; effort controls are now handled correctly with compaction.
v18.3.5Breaking Change

v18.3.5

27. September 2026

  • •Removed the stream-level Anthropic prompt-cache keep-alive: StreamOptions.anthropicCacheRefresh, StreamOptions.anthropicCacheRefreshRequest, and the zero-output refresh request path. Prompt-cache warming now lives in the coding agent's session-level cache warmer (#12699 by @KamijoToma).
  • •Added the openai web-search grounding for OpenAI API models that support Responses web search (gpt-5.5, gpt-5.6-luna, gpt-6-astra, gpt-6-luna) (#13467 by @anatoli-tsinovoy).
  • •Added Model.promptCache, per-retention-tier prompt-cache entry lifetimes in seconds (short / long), declared per provider through the prompt-cache KDL rule (bundled: direct Anthropic, 5 min / 1 h). Custom models and modelOverrides opt in with the models.yml promptCache key (#12699 by @KamijoToma).
  • •Added API-key-billed OpenAI Responses web search (openai/gpt-6-luna, then openai/gpt-5.6-luna), tried after every Codex entry in the default search fallback chain so ChatGPT-subscription search is exhausted before any API usage is billed (#13467 by @anatoli-tsinovoy).
  • •Added prompt-cache warming, ported from earendil-works/pi: shortly before a prompt-cache entry expires, the main agent loop replays its last request and cuts the replay off at the first generated token, so idle gaps no longer force a full-prefix cache re-write. A refresh fires only when the expected avoided-miss cost clears its cost by $0.05, and warming stops as soon as a refresh misses the cache. Controlled by providers.cacheWarming (off / streaming / idle, default idle); idle warming covers 5-minute entries only, and models without a declared promptCache lifetime are never warmed. Extensions can override each decision through the cache_warming_decision event (#12699 by @KamijoToma).
  • •Improved syntax highlighting to use about 5x less memory and run 3-5x faster by compiling grammars with Oniguruma instead of fancy-regex; highlighted output is unchanged.
  • •Fixed SmolLM word completion (spelling.autocomplete: smollm) being about 25x slower on Windows x64 and Intel Macs; suggestions are unchanged (#13488 by @H4vC)
  • •Added an "OpenAI API" option to the setup wizard's web-search step; the existing ChatGPT-OAuth option is now labeled "OpenAI Codex" (#13467 by @anatoli-tsinovoy).
  • •feat(coding-agent): port upstream pi's cache-warming strategy by @KamijoToma in https://github.com/can1357/oh-my-pi/pull/12699
  • •perf(pi-predict): stopped SmolLM CPU kernels lowering mul_add to libm fmaf on x86-64-v2 by @H4vC in https://github.com/can1357/oh-my-pi/pull/13488
  • •feat(web-search): add OpenAI API-billed search by @anatoli-tsinovoy in https://github.com/can1357/oh-my-pi/pull/13467
  • •chore(pi-builtins): removed unused same-file dependency by @H4vC in https://github.com/can1357/oh-my-pi/pull/13491
v18.3.4Breaking Change

v18.3.4

27. September 2026

  • •Fixed Anthropic OAuth requests capping output at 64k tokens; they now request the model's full ceiling (128k on Opus 5.5), matching Claude Code and API-key requests
  • •Replaced the task tool's complexity field with solutionSpace, a description of how open-ended the subtask is; auto thinking for spawned subagents now picks effort from it alone
  • •auto thinking now picks effort for every turn by how open-ended the problem is, so large volumes of mechanical work no longer raise it
  • •Fixed agents looping for hours when every turn spends the whole output limit on reasoning: length-stop retries now tell the model its reasoning was discarded and to act in smaller steps, and a subagent whose length-stop recovery gives up now fails with that error instead of being re-prompted into the same loop
  • •Fixed tagging a model with ^ mid-session dropping the provider prompt cache for every following turn: new m<N> pseudonyms now arrive as a hidden session notice instead of rewriting the task description, which only absorbs them at a base-prompt rebuild
  • •Fixed the native addon keeping every bun test --isolate/--parallel test file's global object and module graph alive, which grew each test worker by ~15 MB per file until the run was OOM-killed.
v18.3.3

v18.3.3

27. September 2026

  • •Added live steering support, allowing models to receive and act on user steering messages during an active stream.
  • •Added a unified predictive text engine with N-gram, SmolLM2, and macOS native providers, including cross-engine blending, background model downloads, and a cross-process prediction daemon.
  • •Added the omp predict command for evaluating completion performance and support for ingesting existing Claude Code and Codex prompt histories to bootstrap predictions on new installations.
  • •Added omp skill list [dir] [--json] to report skills resolved for a session directory, including discovery warnings in JSON output.
  • •Added a centralized progress display for background tool and model downloads, including support for downloading the SmolLM2-135M word-completion model.
  • •Added dynamic evaluation guidance through hidden session notices.
  • •Added a required complexity rationale to the task tool to improve automatic thinking-depth selection.
  • •Agents using task or bash now receive the wait tool for background-process coordination, and subagents can receive it when explicitly requested.
  • •Added context-aware suggestions to empty composers based on agent activity and effort.
  • •Added optional global or per-project memory scopes to the retain and learn tools when Mnemopi scoping is enabled.
  • •Added /btw to focused subagent views for asking questions about that agent's transcript with separate side-conversation history.
  • •Completion behavior now uses the N-gram engine for standard auto completion across platforms, with blended N-gram and SmolLM confidence scoring where applicable; the SmolLM2 model uses a 145 MB GGUF (Q8_0) download and is prefetched only when explicitly activated.
  • •Updated spelling.autocomplete to use an enum-based engine configuration.
  • •Completion ghost text is now preserved through manual keystrokes.
  • •Window input actions now default to background execution; set takeover: true to opt into foreground activation, with clarified cross-platform coordinate and activation behavior.
v18.3.2

v18.3.2

26. September 2026

  • •Fixed tool calls that put their payload in the intent field i (for example a file body in write) silently running with the leftover arguments; they now fail with an error telling the model to retry (#13140, #13141 by @radkawar)
  • •Fixed the Anthropic compaction failure log omitting why no compaction block came back; it now names the stop reason (#13300 by @alphastorm)
  • •Fixed capped Anthropic and Bedrock Claude requests with thinking enabled, including on-demand compaction, ending at max_tokens with no answer; every capped request now gets its effort's thinking budget on top of the requested output (#13300 by @alphastorm)
  • •Added ctx.agent to the extension context, reporting whether the session is the top-level agent or a subagent, plus its registry id, agent definition name, task depth and parent id, so handlers rebound to subagent sessions can tell which agent they serve (#13314 by @andrebrait)
  • •Added tracking of Anthropic's usage-limit wrap-up allowance for Claude subscription accounts: after the 5-hour or weekly limit is reached, the status line and /slow status show limit reached · wrapping up · resets HH:MM, and the agent is told to wrap up when neither low priority nor extra usage will continue the work (#13340 by @H4vC)
  • •providers.anthropic.slowMode now controls only the low-priority lane; the usage-limit wrap-up allowance is tracked for every first-party Claude subscription account (#13340 by @H4vC)
  • •Enter on the /model hub sidebar now moves focus to the model list (like →) instead of acting on the highlighted row (#13347 by @H4vC)
  • •Fixed the Windows bash tool exporting TEMP, TMP, and TMPDIR with 8.3 short names such as ADMINI~1, so they now match the long-form pwd/$PWD after cd "$TEMP" (#13265 by @CoderTCY)
  • •edit and write no longer refuse handwritten files named generated.go, generated.ts, generated.js, or generated.py; these are treated as auto-generated only when their header carries a generated-code marker (#13138, #13139 by @radkawar)
  • •Fixed the edit tool warning that valid Go 1.26 new(expr) calls (e.g. new(f(x))) introduced a syntax error, and ast_grep/ast_edit reporting parse errors on them (#13148, #13149 by @radkawar)
  • •Fixed hashline PUT N* / CUT N* on the first statement of a block (for example a Go or Python function that opens with an if) also replacing or deleting every statement after it (#13153, #13154 by @radkawar)
  • •Fixed the Full output: artifact:// link on large background bash and eval results pointing at a truncated copy with […elided…] gaps instead of the complete output (#13142, #13143 by @radkawar)
  • •Fixed grep paths like dir/*.go also matching files in subdirectories of dir (#13146, #13150 by @radkawar)
  • •Fixed auto-compaction re-sending a failed native (server-side) compaction on every turn, re-reading the full context each time; after a failure a retry would repeat, the next configured method runs instead until a compaction succeeds (#13310 by @alphastorm)
  • •Fixed a /slow off session resending requests indefinitely when another session had activated the shared Anthropic low-priority lane (#13340 by @H4vC)
v18.3.1Breaking Change

v18.3.1

25. September 2026

  • •Added live steering support for Codex WebSocket transports, allowing users to provide input while a response is in progress.
  • •Added passive tool-call context support, allowing hooks and tools to supply additional context for subsequent model processing.
  • •Improved context-window handling by automatically adjusting output-token limits and supporting models that truncate output at the context-window limit.
  • •Improved prompt token counting for requests with anchored prefixes by using provider-reported usage and limiting local estimation to new message content.
  • •Added live steering support for GPT-6 models, allowing queued user messages to be delivered during an active streaming response.
  • •Added the anthropicSlowMode stream option for first-party Claude OAuth requests, enabling slow-mode rate-limit handling, per-account rate-limit reporting, and server-paced retries during capacity limits.
  • •Added support for capturing and redeeming Anthropic fallback credit tokens, including prompt-cache repricing for classifier refusals.
  • •Added Vercel AI Gateway app attribution by sending http-referer: https://omp.sh/ and x-title: omp by default; user-provided header values take precedence.
  • •Fixed account selection for OpenCode Go and SuperGrok (xai-oauth) so accounts without available funds or included quota are skipped in favor of eligible accounts.
  • •Improved visibility into automatically disabled authentication credentials by logging a warning and including the affected account details in credential-disabled events.
  • •Fixed browser relay support when multiple browser instances, such as Chrome and Edge, are connected simultaneously, ensuring tabs and relay requests remain associated with the correct browser while preserving single-browser compatibility for extensions without an instance identifier.
  • •Added compatibility flags for models that stop output at the context-window limit and models that support steering, including defaults for Claude 4.5+ and GPT-6+ models.
  • •Fixed forced-tool requests for Claude Opus 5.5 so tool selection falls back gracefully when necessary.
  • •Added the provider-advertised xhigh reasoning level for Yolo-Auto Qwen3.8 models.
  • •Fixed Devin Fusion pairing requests failing with no API providers are available by routing them through the lead model with the lead's limits and pricing; pairings without an available lead are no longer listed (#13000 by @DarkPhilosophy).
v18.3.0Breaking Change

v18.3.0

24. September 2026

  • •Added support for documenting agent tools on demand through the new AgentTool.docTopics method.
  • •Added TOOL_INTERRUPT_ABORT_REASON so interruptible tools can distinguish queued steering, peer messages, or background completions from a full run abort.
  • •Improved interrupt handling so tools respect wait mode and can be interrupted when appropriate.
  • •Updated Anthropic compaction compatibility with signature verification.
  • •Added support for Anthropic User Profiles, including schema-validated API responses.
  • •Added support for Apple Foundation Models running on-device, including tool calling and vision capabilities.
  • •Added multi-account authentication and authorization for Codex cyber access programs, including automatic request replay after access-program rejections.
  • •Added credential-aware authentication routing with per-account OAuth policies, deterministic account selection, protected quota reserves, persistent rate-limit tracking, automatic recovery, and sticky session-to-credential affinity.
  • •Added deprecated getApiKey and reload methods for backward compatibility.
  • •Added compaction support for the claude-mythos-preview model.
  • •Added provider and authentication rule definitions for on-device Apple Foundation Models.
  • •Added per-account discovery of Codex cyber access entitlements.
  • •Added org-scoped-identity and oauth-token-env authentication rules for providers.
  • •The hub tool is deprecated; use wait, write, and the proc:// protocols instead.
  • •The irc.timeoutMs configuration setting has been removed.
v18.2.11

v18.2.11

23. September 2026

  • •Fixed background job completions interrupting foreground Bash and eval calls, which could cause those calls to be repeatedly moved into the background.
  • •Fixed Claude Opus 5.5 not applying a mid-session switch to high-effort reasoning when the session started without an explicit effort setting.
  • •Fixed Alibaba Token Plan monthly quotas not appearing in usage reports or the status line.
  • •Added built-in StepFun provider support for the step-5-preview model, including live model discovery.
  • •Fixed cost estimation for OpenAI Codex GPT-6 Sol and Luna models across standard and worker routes.
  • •Fixed GitHub Copilot Grok 4.x models failing to make requests.
  • •Fixed nested eval Todo updates not being reflected by the Todo tracker, including cases where a cell fails after committing an update.
  • •Fixed strict-mode structured-output validation for JSON Schemas without a root type, preserving their items and required keywords.
  • •Improved streamed TTSR whole-buffer matching to avoid repeated scans from the beginning of the buffer.
  • •Fixed plural browser queries when compiled binaries provide shallow stack traces.
  • •Fixed browser tab.fill timing out on pages whose animation frames stall.
  • •Fixed the first LSP diagnostics request returning no results while a newly started language server is still analyzing.
  • •/shake thinking now reports the number of tokens freed.
  • •Improved warmHighlighter() so it prepares TypeScript, TSX, JavaScript, Bash, Python, Rust, and Markdown highlighting in the background, reducing delays on the first highlight for these languages.
  • •Added a Skills section to the settings.
v18.2.10

v18.2.10

23. September 2026

  • •Fixed stream finalization when a provider ends without emitting a completion or error event, ensuring the final assistant message is preserved and corresponding message lifecycle events are emitted.
  • •Fixed tool execution being incorrectly skipped when host steering callbacks reject during a tool batch.
  • •Fixed stream hangs and preserved the original error when host aside-commit or discard callbacks fail.
  • •Added Claude saved-reset discovery and redemption, including session-only resets, grant eligibility, expiry, and safe retry handling.
  • •Fixed custom OpenAI-compatible extension streamers failing when no compatibility configuration was provided.
  • •Fixed local provider sign-in for LM Studio, llama.cpp, and vLLM so an empty API key is not treated as successful authentication.
  • •Fixed Vercel AI Gateway models backed by non-Anthropic providers failing tool calls because of strict schema validation; requests now retry with compatible non-strict tool handling.
  • •Improved AWS Bedrock authentication by refreshing expired AWS SSO sessions automatically, reducing the need to run aws sso login again.
  • •Fixed Bedrock tool-enabled requests when tool descriptions are included in the system prompt.
  • •Improved Alibaba Token Plan (Beijing) quota reporting across workspaces and made gateway rejection codes visible in error logs.
  • •Fixed the tool-call loop guard so repeated identical calls continue to be redirected after the detection threshold is reached.
  • •Fixed valid required null values inside tool argument unions being removed before dispatch (#12523 by @cswenor).
  • •Signing in to a local provider (lm-studio, llama.cpp, vllm) with an empty key paste no longer reports the provider as logged in while its requests go out unauthenticated. (#12436 by @xiechimon)
  • •Fixed every turn failing with 400 Invalid schema for function '<tool>' … Missing '<param>' on Vercel AI Gateway models served from a non-Anthropic upstream (e.g. openai/gpt-5.6-sol): the translated strict-tool rejection now triggers the existing non-strict retry instead of failing the turn (#12760 by @primitive-type).
  • •Expired AWS SSO access tokens are now refreshed via the SSO OIDC refresh_token grant instead of failing with sso-token-expired, so Bedrock profiles keep working between aws sso login runs the same way the AWS CLI does (#12736 by @nwbb).
v18.2.9

v18.2.9

22. September 2026

  • •Fixed stream finalization when a provider ends without emitting a completion or error event, ensuring the final assistant message is preserved and corresponding message lifecycle events are emitted.
  • •Fixed tool execution being incorrectly skipped when host steering callbacks reject during a tool batch.
  • •Fixed stream hangs and preserved the original error when host aside-commit or discard callbacks fail.
  • •Added Claude saved-reset discovery and redemption, including session-only resets, grant eligibility, expiry, and safe retry handling.
  • •Fixed custom OpenAI-compatible extension streamers failing when no compatibility configuration was provided.
  • •Fixed local provider sign-in for LM Studio, llama.cpp, and vLLM so an empty API key is not treated as successful authentication.
  • •Fixed Vercel AI Gateway models backed by non-Anthropic providers failing tool calls because of strict schema validation; requests now retry with compatible non-strict tool handling.
  • •Improved AWS Bedrock authentication by refreshing expired AWS SSO sessions automatically, reducing the need to run aws sso login again.
  • •Fixed Bedrock tool-enabled requests when tool descriptions are included in the system prompt.
  • •Improved Alibaba Token Plan (Beijing) quota reporting across workspaces and made gateway rejection codes visible in error logs.
  • •Fixed the tool-call loop guard so repeated identical calls continue to be redirected after the detection threshold is reached.
  • •Fixed valid required null values inside tool argument unions being removed before dispatch (#12523 by @cswenor).
  • •Signing in to a local provider (lm-studio, llama.cpp, vllm) with an empty key paste no longer reports the provider as logged in while its requests go out unauthenticated. (#12436 by @xiechimon)
  • •Fixed every turn failing with 400 Invalid schema for function '<tool>' … Missing '<param>' on Vercel AI Gateway models served from a non-Anthropic upstream (e.g. openai/gpt-5.6-sol): the translated strict-tool rejection now triggers the existing non-strict retry instead of failing the turn (#12760 by @primitive-type).
  • •Expired AWS SSO access tokens are now refreshed via the SSO OIDC refresh_token grant instead of failing with sso-token-expired, so Bedrock profiles keep working between aws sso login runs the same way the AWS CLI does (#12736 by @nwbb).
v18.2.8

v18.2.8

21. September 2026

  • •Added support for text embeddings, document reranking, video generation, image generation across multiple providers, audio speech synthesis, and audio transcription services.
  • •Added support for the System One judgment API, including configurable request headers for proxy routing and custom authentication.
  • •Updated API response cost reporting to use aggregate usage totals.
  • •Model list responses now optionally include a model kind.
  • •Fixed detection of Claude usage-limit errors.
  • •Expanded OpenRouter provider support with embedding, reranking, video generation, text-to-speech, and speech-to-text capabilities, including five new speech-to-text models.
  • •Added speech-to-text support to the OpenAI provider.
  • •Added comprehensive browser automation tools for accessibility auditing, React inspection, console and network monitoring, performance tracing, semantic DOM queries, tab management, screen recording with cursor overlays, downloads, custom initialization scripts, persistent storage, and WebMCP cross-frame tool discovery.
  • •Added support for buffered cloud transcription with OpenAI-compatible models.
  • •Added visual change detection for video processing, including FFMPEG analysis and SVG overlays.
  • •Added support for declaring native judges through custom providers using the typesafe and openrouter-decisions API values, with configurable base URLs, API keys, and headers.
  • •Expanded browser security and resilience controls with configurable HTTPS error handling, domain allow-listing, and automatic tab recycling when security-sensitive state changes.
  • •Updated background job notifications to deliver output as follow-up messages and discourage unnecessary polling.
  • •Expanded the bash tool's documented auxiliary utilities and removed its truncation footer notice.
  • •Improved responsiveness in long sessions by significantly reducing the time required to scan provider context for credential patterns.
v18.2.7Breaking Change

v18.2.7

21. September 2026

  • •Anthropic streaming and provider request helpers must now be imported from @oh-my-pi/pi-ai/providers/anthropic instead of the package root.
  • •Moved the public NO_AUTH_SENTINEL export from providers/openai-shared to auth-retry.
  • •Anthropic organization-level OAuth permission errors now reliably rotate to sibling credentials and persist blocks across usage reports.
  • •Fixed error handling for provider responses that do not include token usage information.
  • •Added model-kind and grounded-search capability metadata, along with catalogs for local inference and search-engine models.
  • •Added OpenRouter image-model discovery and live TypeSafe judge-model discovery.
  • •Added the buildDiscoveredModel helper for defining custom providers.
  • •Added glob-based patterns for identity overrides.
  • •Updated input cost for TypeSafe models to 0.042
  • •Improved model routing and thinking-policy handling for llama.cpp Qwen models, Bonsai lineage aliases, and custom provider names.
  • •Image-generation overrides now use model selectors, and web-search CLI overrides use --model instead of --provider.
  • •Removed the bash tool's env parameter.
  • •Eval judge(state, questions) is now awaited and returns answers directly; JudgmentHandle and judgment support in wait() have been removed.
  • •Added find tool for semantic workspace searching, allowing agents to locate behaviors and symbols using natural language
  • •Added find CLI command for performing semantic workspace searches
v18.2.6

v18.2.6

18. September 2026

  • •Fixed Anthropic prompt-cache head re-baselining on every memory recall refresh: the system breakpoint now anchors on the last stable segment instead of the volatile recall suffix, and the stable-system fingerprint ignores recall blocks, so a recall refresh re-bills only the suffix instead of the whole tools+system head.
  • •Fixed auth-broker client config resolution failing silently on Windows when reading the token file or config.yml; reads now use node:fs instead of Bun.file.
  • •Fixed clipboard paste stalling on an empty clipboard; image and text clipboard reads now run concurrently so the empty-clipboard status surfaces after the slower read instead of the sum of both.
  • •Fixed memory recall blocks carrying a minute-resolution Current time stamp that dirtied the cached system prompt on every refresh; recall rows already carry dates, so the stamp is removed.
  • •Fixed omp auth-broker token and omp auth-gateway token exiting silently without creating a token on Windows when no token file exists yet; token and config reads now use node:fs instead of Bun.file.
  • •fix(auth-broker): use node:fs for token and config reads on Windows by @H4vC in https://github.com/can1357/oh-my-pi/pull/12390
  • •docs(changelog): restore contributor attribution for #12177 and #12236 (@shivamklr) by @shivamklr in https://github.com/can1357/oh-my-pi/pull/12396
  • •fix(ai): keep prompt-cache head stable across memory recall refreshes by @H4vC in https://github.com/can1357/oh-my-pi/pull/12431
  • •fix(coding-agent): run clipboard image and text reads concurrently on paste by @H4vC in https://github.com/can1357/oh-my-pi/pull/12447
  • •fix(ai): remove dead breakpoint locals in head-caching recall test by @H4vC in https://github.com/can1357/oh-my-pi/pull/12453
  • •fix(build): pin find-msvc-tools to 0.1.12 for Windows cc compat by @H4vC in https://github.com/can1357/oh-my-pi/pull/12455
v18.2.5Breaking Change

v18.2.5

18. September 2026

  • •Improved agent performance by reducing redundant tool-schema processing during repeated model calls and optimizing streamed tool-call argument parsing.
  • •Added support for templating and custom base and authentication URLs in OAuth flows.
  • •Fixed Anthropic prompt-cache breakpoints stalling when conversations include mid-conversation tool changes, preventing growing message tails from being unnecessarily re-billed as uncached input.
  • •Added the stencil authentication provider for omp stream, supporting OAuth code + PKCE sign-in with auth.stencil.so, configurable via STENCIL_API_KEY, STENCIL_AUTH_URL, and STENCIL_BASE_URL. This is an authentication-only provider, not a model provider; OAuth-code login configuration also supports base-url and auth-url nodes with {base} and {auth} URL placeholders.
  • •Corrected Yolo-Auto metadata for Qwen Flash: qwen3.8-flash and the paid yolo route now report the documented 256K context window and use the Qwen chat-template reasoning dialect, with qwen3.8-flash as the provider default.
  • •Moved terminal UI modules—including themes, tool renderers, chat, overlay, status-line, composer, setup wizard, and Git/PS/debug apps—to @oh-my-pi/pi-tui. The corresponding @oh-my-pi/pi-coding-agent subpaths no longer exist; names re-exported from the package root remain unchanged.
  • •Added omp stream for livestreaming terminal sessions at live.omp.sh/<your Stencil username>, with viewer chat, pane-per-session display for sessions in the same directory, screen redaction, and configurable stream.serverUrl and stream.redactPatterns settings. Use --server to override the stream server, --title to set a title, and --no-tui to retain the line-based log interface.
  • •Added Stencil account support to /login. omp stream uses a signed-in Stencil account or STENCIL_API_KEY for channel ownership and authentication. Sensitive environment, dotenv, secrets.yml, credential-shaped, and configured pattern-matching values are redacted before screen data is transmitted.
  • •Added faster keyless web search fallback by prioritizing the default keyless Parallel provider ahead of Perplexity.
  • •Improved parent IRC message prompts to make interruption handling more reliable.
  • •Improved subagent task labels and plan filenames to use concise, action-oriented descriptions.
  • •Updated CLI byte sizes to use decimal KB units and made duration displays coarser and easier to read.
  • •Fixed edit auto-repair waiting up to 60 seconds when the smol model does not respond; it now times out after 20 seconds and reports repair start and timeout details.
  • •Fixed subagents leaving queued parent messages behind after tool interruptions.
  • •Fixed a subagent burning its whole run on yield calls that never finish it: an incremental-only yield turn no longer bypasses the request budget, and the forced final yield ends the run (#12351 by @pedropaulovc).
v18.2.4

v18.2.4

17. September 2026

  • •Added the judgment module for typed questions over JSON state, including choice, yes/no, and score judgments through the Judge interface.
  • •Added TypeSafeJudge support with TypeSafe System One authentication, credential rotation on unauthorized responses, and retry-aware backoff.
  • •Added TextJudge and chatTextBackend for model-based judgments, with structured state rendering and safeguards that prevent embedded requests from being executed.
  • •Added automatic format-correction retries to TextJudge when models return malformed output.
  • •Added the guardState option to TextBackend to control whether safety guidance is included in prompts.
  • •Added typesafe authentication for TypeSafe System One judgments via the TYPESAFE_API_KEY configuration and API-key validation against the TypeSafe models endpoint.
  • •Added an optional live generation speed readout via composer.tokenRate, showing smoothed tokens-per-second output in the working row and keeping the rate visible between turns.
  • •Added TypeSafe provider support through /login typesafe or TYPESAFE_API_KEY. TypeSafe can power thinking-level detection, unexpected-stop detection, and AI-assisted git staging with calibrated judgment probabilities; configure providers.judgmentProvider as auto, typesafe, or llm to select the judgment backend.
  • •Added the judge(state, questions) evaluation helper for Python and JavaScript cell code, supporting typed choice, boolean, and score judgments. It returns a handle whose .wait() method provides answers and probabilities, using TypeSafe when configured and available or a fallback chat model otherwise.
  • •Unified thinking-level detection, unexpected-stop detection, and AI-assisted staging around a shared judgment system with automatic fallback across configured models when TypeSafe is unavailable or cannot complete a request. AI-assisted staging now evaluates files as a single batched judgment while preserving one yes/no decision per file.
  • •Fixed inline images disappearing or temporarily blanking when resizing the terminal in kitty and Ghostty.
Zeige 30 von 111