Release notes
Oh My Pi v18.8.5
@oh-my-pi/pi-ai
Added
oauth.refresh(id, signal, { reason: "auth-recovery" })forwards provider-401 recovery intent to a delegated (auth broker) refresh, andAuthStorageOptions.refreshOAuthCredentialMintsmarks arefreshOAuthCredentialhook that exchanges tokens itself so its tokens are reused for auth recovery (#14752 by @will-bogusz)SessionsApi.inheritaccepts an optional filter, called with each provider and whether the source's affinity is an explicit user pin, to copy only the affinities it accepts (#14749 by @will-bogusz)
Changed
AuthApiKeyOptions.accountIdsalso matches the login email, or else the project id, of credentials that carry no account id (seeoauthAccountKey), so Antigravity requests prefer accounts that serve the requested model (#14924).
Fixed
- Fixed accounts sitting exactly at their
reservePct(e.g. 70% used with a 30% reserve) still being picked and reported healthy instead of being held in reserve (#14765 by @will-bogusz) - Fixed
oauth.accessByIdwithforceRefreshreturning the stored token unchanged while it was still valid; it now re-mints that one account (through the auth broker when configured) and returns that account's token even if another row is removed meanwhile (#14752 by @will-bogusz) - Fixed
omp -pand other short-lived auth-broker clients missing fromomp usage clients: usage still waiting for the 10-second report batch is now sent to the broker before the process exits (#14899 by @will-bogusz) - Fixed Cursor web fetches that were cut off by a dropped connection disappearing from resumed and rebuilt sessions; they now show as interrupted (#14819 by @jchanghong023)
- Anthropic hosted web search can honor custom providers' OAuth-style request shaping and configured headers consistently with conversations (#14919 by @farnoy)
@oh-my-pi/pi-catalog
Breaking Changes
googleAntigravityModelManagerOptionstakesresolveAccountsinstead ofoauthToken, andfetchAntigravityDiscoveryModelsreturns a roster or credential-rejection result instead of a bare list (#14924).
Fixed
- Fixed Claude Haiku 5.5 on Cursor showing as unpriced; it now uses Cursor's $0.10/$0.50 rate card and 5x long-context tier above 100K input tokens (#14890 by @eggpeat).
- Fixed Claude Haiku 5.5 on GitHub Copilot pricing cache reads and writes at $0 on both the standard and
-1mlong-context rows, and the-1mrow billing the 5x long-context band a second time above 100K input tokens (#14890 by @eggpeat).
@oh-my-pi/pi-coding-agent
Added
- Added per-model auto-compaction points: the
/modelspreview shows where each model compacts, and in the Roles viewk(or the Compaction limit button) sets it for the selected role's or fallback's model (90000,90k,1M,80%; empty resets). Also configurable ascompaction.modelThresholdswithprovider/model-idorprovider/*keys (#14952 by @H4vC)
Fixed
- Fixed
omp usagereporting an account exactly at its reserve (e.g. 30% left with a 30% reserve) as eligible instead of inside reserve (#14765 by @will-bogusz) - Fixed the todo reminder pushing the agent to keep working after it offered options and asked the user to choose (#14800 by @mrmans0n)
- Fixed the todo reminder telling the model to keep working right after it asked the user a bolded or italicised question (#12051, #14353 by @F0Rextasy)
- Fixed short model selectors such as
p/a:maxora:maxdropping their explicit thinking level when a role was reassigned or used for image questions; a model whose ID literally ends in:maxor:autois still treated as that model (#14554 by @xiangnan0811) - Fixed starting a subagent switching the parent session's later language servers from shared to private (#14628 by @jorgoose)
- Fixed a finishing subagent cancelling local tiny-model requests (titles, task labels, judgments) still running for the parent or other subagents (#14629 by @jorgoose)
- Fixed rust-analyzer on Windows not running through a running lspmux server, as it already did on Linux and macOS (#14630 by @jorgoose)
- Fixed a malformed or unreadable project
plugin-overrides.jsonbeing ignored silently, which re-enabled project-disabled plugins without a trace; omp now logs a warning naming the file (#14518, #14573 by @oleg494) - Fixed Claude Opus 5.5 and Sonnet 5.5 disappearing with mixed-access Google Antigravity accounts; models now route to accounts that serve them, and revoked accounts no longer block catalog refresh (#14924).
- Fixed clipboard-pasted image chips opening a nonexistent file instead of the image, including after
/move(#14927). - Fixed clipboard-pasted image chips opening the auto-resized copy sent to the model instead of the image as pasted (#14929)
- Fixed
omp token <provider> --account N --force-refreshprinting the stored token unchanged while it was still valid; it now re-mints that account. Security scans pinned to one account, including Codex Security cloud requests, refresh it after a 401 and may reuse a still-usable token minted in the previous five minutes, asomp auth-broker servenow also may for its clients' 401 recovery (#14752 by @will-bogusz) - Fixed revived subagents moving to the parent's automatically chosen account and re-writing their whole prompt cache instead of staying on the account that served their earlier turns; a parent's explicit
/session pinstill moves them (#14749 by @will-bogusz) - Fixed a fallback chain switching back to a usage-limited primary model every 30 minutes, failing a request each time, when the provider's usage report showed a later reset; the session now stays on the fallback until that reset (#14757
…