v1.20.0
What's new
- Added opt-in
/claude-primescheduling to start each OAuth account's five-hour quota window with a minimal Haiku 4.5 request after reset. - Added the OpenCode-only
/claude-startcommand for an explicit one-token synthetic turn through the current session's normal model, routing, cache, and request pipeline. This is a billed request: prompt-cache reads and writes still apply. - Added Anthropic cache diagnostics through versioned
MC-CACHE-DIAGdebug records and sanitized response artifacts. - Fixed Pi OAuth billing rejection by relocating the Pi documentation prompt to a cached block before the first user text, with a safe fallback for unknown future prompt layouts.
- Added Claude Opus 5 to the Pi provider catalog.
Reliability
- Updated Desktop recovery-notice delivery for OpenCode 1.18+, preventing ignored notices from causing duplicate billed provider turns during retry and idle-state races.
- CacheKeep now retries failed prewarms while the last confirmed cache may still be alive and serializes overlapping ticks to avoid duplicate requests.
- Sticky routing now excludes permanently invalid fallback credentials from pool completeness and returns explicit re-login guidance when no OAuth route can serve the model.
- Preserved fresh scoped-only quota snapshots and permanent refresh-error classification across lock contention.
- Dump capture now restores the first same-session byte-diff baseline after process restart, finalizes response artifacts before transformed streams complete, removes stale partial artifacts below the size cap, and evicts complete request groups when enforcing the cap.
- Updated OpenCode, OpenTUI, Pi SDK, Miniflare, Biome, TypeScript, and CI dependencies.
Thanks to @iceteaSA for quota priming, cache diagnostics, and explicit lane starts, and to @unspecd-dev for the Pi request-shape and Opus 5 changes.
Full changelog: v1.19.1...v1.20.0