v1.5.0
Highlights
- Added an OpenCode TUI sidebar for Claude quota, active route, relay transport, and cache status.
- Added a shared quota manager with persisted quota caching, quota API backoff, token-bound fallback quota state, and request-count-based quota refreshes.
Fixes and improvements
- Strips trailing assistant messages from Anthropic request bodies to avoid Claude OAuth prefill
400errors when a conversation does not end with a user message. - Avoids placing
cache_controlon message objects in hybrid cache mode when the selected message has no cacheable content block. - Invalidates fallback quota cache and quota backoff when a same-label fallback account is re-logged with a new token.
- Fixes OpenCode TUI package loading by exporting the source TUI entrypoint and including required sidebar state files in the package.
- Fixes TUI sidebar state so it uses token-bound quota reads and reflects the actual active route.
- Canonicalizes dropped AFT tool namespaces in Anthropic responses, so
safety/mcp_Safetyand other known AFT suffixes are mapped back toaft_*tool names. - Reloads relay config from the sidecar on each request so long-running OpenCode processes stop using stale HTTP/WebSocket settings.
- Reduces fallback OAuth refresh backoff log noise and improves WebSocket relay fallback diagnostics.
- Fixes root
bun testand CI workflow test commands.
Thanks to @iceteaSA for the quota manager and TUI sidebar contributions.