@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 by @will-bogusz)
- Fixed
/usage, the status line usage segment and/logouttreating every Google Antigravity account (and every Codex Team seat in one workspace) as the session's account, andomp usagenot listing such an account when its usage fetch failed (#14900 by @will-bogusz) - Fixed Tern showing an agent as finished when automatic context maintenance ends partway through a turn; omp now keeps reporting the turn's working state until the turn actually ends (#14917 by @wolfiesch)
- Fixed the terminal title and Tern busy state staying in the working state after an interrupt cancels a scheduled retry or continuation before it starts (#14917 by @wolfiesch)
- Fixed Anthropic web search through a custom
anthropic-messagesprovider sending a plain API-key request even though the provider's conversations use Claude Code request shaping; search now honors the model'sisOAuthlike the main conversation, so keys that only work with that shaping no longer fail with HTTP 429rate_limit_error(#14919 by @farnoy) - Fixed Anthropic web search spreading the model's configured headers under its own without the main conversation's case-insensitive merge and enforced-header filtering, so a configured
authorizationheader could replace the credential or join it comma-separated on the wire (#14919 by @farnoy)
Removed
- Removed the
PI_SUBPROCESS_CMDenvironment variable; subagents run in-process and never read it (#14632 by @jorgoose)
@oh-my-pi/pi-mnemopi
Fixed
- Fixed new memories gaining graph links (
related_to,references,ctx) to memories that were already invalidated, superseded, or expired; proactive linking and consolidation now link only to memories recall can still return, so the graph stops growing toward retired memories (#14427 by @tickernelz).
@oh-my-pi/pi-tui
Added
- Added a Compacts at fact to the model hub preview and a Roles-view Compaction limit action (
k) that edits the selected row's model limit through the newModelBrowserSource.compactionPointForandModelHubCallbacks.onCompactionPointChangehooks (#14952 by @H4vC)
Fixed
- Fixed
/usagedashboard cards reordering their limit rows by usage; rows now keep the provider's window order (e.g. 5 hour → weekly → monthly) (#14953 by @H4vC) - Fixed Cmd+A, Cmd+C, Cmd+X and Shift+arrow selection doing nothing in the Tern prompt while Vim mode is in Insert mode (#14954 by @H4vC)
What's Changed
- fix(coding-agent): keep Tern busy state through mid-turn compaction by @wolfiesch in #14917
- fix(ai): report omp -p usage to the auth broker before exit by @will-bogusz in #14899
- docs(coding-agent): correct agent() and workpool concurrency limits in eval docs by @jorgoose in #14634
- refactor(metaharness): share the conversation dump path between the edit runner and the dashboard by @jaredlyon in #14377
- refactor(metaharness): share the default job name between runner and server by @jaredlyon in #14384
- fix(robomp): kept failed pr reviews out of the review-once ledger by @roboomp in #14872
- fix(ai): pair an interrupted result for a hosted web-fetch call the transport cut short by @jchanghong023 in #14819
- fix(coding-agent): stop marking every Antigravity account as the session's in usage views by @will-bogusz in #14900
- fix(coding-agent): keep a fallback chain off a usage-limited primary until its reported reset by @will-bogusz in #14757
- fix(coding-agent): keep a revived subagent on the account that holds its prompt cache by @will-bogusz in #14749
- fix(ai): made omp token --account --force-refresh re-mint the chosen account by @will-bogusz in #14752
- fix(coding-agent): linked pasted image chips to stable blobs by @roboomp in #14929
- fix(catalog): unioned antigravity model rosters across oauth accounts by @roboomp in #14926
- fix(ai,coding-agent): honor custom Anthropic providers' OAuth mode and headers in web search by @farnoy in #14919
- fix(ai): hold accounts exactly at their reserve in reserve by @will-bogusz in #14765
- fix(todo): pause reminders for unanswered choice prompts by @mrmans0n in #14800
- coding-agent: treat a bolded question as a question in the todo reminder by @F0Rextasy in #14353
- fix: preserve explicit effort in short model selectors by @xiangnan0811 in #14554
- fix(coding-agent): keep broker-shared language servers after a subagent starts by @jorgoose in #14628
- fix(coding-agent): only the process-owning session shuts down the tiny-model client by @jorgoose in #14629
- fix(coding-agent): match rust-analyzer.exe paths when wrapping with lspmux by @jorgoose in #14630
- chore(coding-agent): remove unused PI_SUBPROCESS_CMD by @jorgoose in #14632
- fix(plugins): warn when project plugin overrides fail to load by @oleg494 in #14573
- refactor(coding-agent): share POSIX shell argument quoting by @anatoli-tsinovoy in #14239
- fix(mnemopi): link new memories only to valid memories by @tickernelz in #14427
- fix(catalog): price Claude Haiku 5.5 on Cursor, gateways, and Copilot by @eggpeat in #14890
- feat(coding-agent): per-model compaction limits set from the model hub by @H4vC in #14952
- fix(tui): keep Tern native composer editing in Vim Insert mode by @H4vC in #14954
- fix(tui): keep provider window order on /usage dashboard cards by @H4vC in #14953
New Contributors
- @farnoy made their first contribution in #14919
- @mrmans0n made their first contribution in #14800
- @tickernelz made their first contribution in #14427
Full Changelog: v18.8.4...v18.8.5