Release notes
Oh My Pi v18.8.7
@oh-my-pi/pi-ai
Added
- Added routing-session cleanup for OpenAI Responses and Codex while preserving shared provider fallbacks (#14334 by @iliaal).
Fixed
- Fixed Claude Haiku 5.5 requests silently enabling adaptive thinking when reasoning is off, on native Bedrock (main and helper calls) and the Anthropic API; conversations whose earlier effort controls rule out disabled thinking fall back to lowest-effort adaptive thinking instead of failing (#14996 by @bse-ai).
- Fixed
/session pinbeing ignored when every stored account is quota-blocked, which routed the next request to a different exhausted account instead of the pinned one (#14997). - Fixed
minimax-code-cnsessions staying pinned to a key whose Token Plan quota is exhausted (用量上限429) instead of rotating to a sibling credential (#15053).
@oh-my-pi/pi-catalog
Added
- Added built-in CoralBricks support with
/login, live model discovery, per-model reasoning levels and off controls, and bundled offline fallbacks. (#14146 by @ryan-brosas) - Added
gen:models --provider <id>to update one provider without changing other providers' catalog snapshots. (#14146 by @ryan-brosas)
Fixed
- Fixed Claude Haiku 5.5 thinking Off to request explicitly disabled thinking on every host serving its adaptive thinking (#14996 by @bse-ai).
@oh-my-pi/pi-coding-agent
Added
- Added automated release binary publication to build.stencil.so
- Added OSC 7501 program status reporting: terminals and agent inboxes that support it now show whether omp is working, waiting on your answer or approval (with the question), done, or failed (with the error), without parsing the window title. Turn it off with
terminal.programStatus. - Added title cards (icon and short code) to
/rename: the title model picks one for a title you type, or for a generated title when the session has no card yet;title.icons: boringkeeps renamed titles plain. - Grammars for less common languages (Kotlin, Swift, Ruby, PHP, Haskell, Verilog, and others) are now downloaded on first use for code summaries, block context,
ast_grep,ast_edit, and TTSR rules; offline, files in those languages are skipped with a note instead of failing.PI_GRAMMARS_URLoverrides the download location. - Added
bash.gitGuard(default off) for checkouts shared by concurrent agents: the bash tool refusesgit stash,git reset --hardor to another commit, andgit checkout/switch/restorethat would overwrite working-tree files unless a merge or rebase conflict is being resolved; unstaging stays allowed, and commands are judged as they actually run, including inside substitutions, functions, and aftercd.
Changed
- Updated
writetool error message to mention local:// scratch support - Web search now tells the agent about its X post operators (
site:x.com,from:<handle>) when you are logged in to xAI, so questions about reactions on X reach X search. - Reduced memory retained after merging unchanged discovered and cached models (#14252 by @iliaal).
- The default
smolmodel now prefers Claude Haiku 5.5 when it is available. - Automatic session titles now start when the agent's reply begins rather than when you submit, so a slow-thinking first reply gets a card title (icon and code) instead of a plain fallback title.
read file.jsonl?q=…keeps the other lines' results when a line before the last fails and shows jq's error ahead of them, instead of failing the read; anything else the query wrote to stderr, such asdebugoutput, now leads the result too (#14659 by @will-bogusz)- Title card icons now picture each session's specific subject instead of a generic bug, flask, speedometer, gear, or terminal, or the project's language logo, so sessions in the same project are easier to tell apart.
- Agents whose tool list omits
writebut still get it to runxd://tools can now also writelocal://files (reports, notes) outside plan mode; working-tree writes stay blocked. - Added
worktree.onStartandworktree.onExitsettings to start each session in its own worktree and clean it up on exit (#14908 by @gitpushoriginmaster) - Added
speech.speedandtts.localSpeedsettings (0.5–2.5, default 1) to speed up or slow down local Kokoro speech for live vocalization and thettstool /omp say, plus anomp say --speedflag; ACP voice clients find both settings and their presets inspeech.models.list(#5868) omp updateand the startup update notice leave an omp installed by another app (Tern) to that app instead of replacing its files.- The startup update notice no longer appears when omp runs from a source checkout.
Fixed
- Reduced memory growth after one-shot side requests without interrupting ongoing conversations (#14334 by @iliaal).
- Fixed sessions staying untitled when you interrupted the first reply to send a queued steer message.
- Fixed browser downloads saving into another tab's
downloadsfolder, andtab.waitForDownload()saving into the system Downloads folder once another tab closed; each tab in a Chromium omp launched or spawned now saves into its own, iframe downloads included. In those browsers a download no tab tracks (started by a page omp did not open, or finishing after its tab closed) now keeps Chromium's GUID file name instead of its suggested name; connected and relay browsers keep real file names (#14544 by @will-bogusz) - Fixed browser calls in relay mode failing with "The browser relay … is out of date" after an omp upgrade until the old relay was killed by hand; omp now restarts a relay it started itself under an older version (#14416 by @will-bogusz)
- Fixed
/renamewithout a title dropping the session's title card (icon and short code) (#14980) - Fixed title cards showing the emoji instead of the Nerd Font icon when the model misremembered the icon's name: dashes for underscores (
nf-md-text-box), the wrong icon set (nf-md-spinnerfornf-fa-spinner), or reordered, missing, or extra words (nf-md-testfornf-md-test_tube). - Fixed
omp updateignoring theupdate.channelsetting: canary users were checked against stable releases, and--canary/--stablewere never remembered. - Fixed interrupting a reply to send a queued steer message briefly showing omp as idle (title, progress, working indicator) before the steer ran; RPC and SDK clients also no longer see a final
agent_endfor that interrupt. - Fixed browser tab recordings and video frame/contact-sheet extraction creating
omp-browser-recording-*andomp-video-*scratch directories in your working directory instead of the system temp directory.
…