anomalyco / anomalyco/opencode
fix(llm): unified rate-limit utilization and status headers are dropped
@jlongster is already working on this.
Since Sep 18, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
On an Anthropic subscription account, the rate-limit details parsed out of a response keep
anthropic-ratelimit-unified-5h-reset but drop anthropic-ratelimit-unified-5h-utilization and
anthropic-ratelimit-unified-status, which arrive in the same response.
rateLimitDetails in packages/llm/src/route/executor.ts matches
/^anthropic-ratelimit-(.+)-(limit|remaining|reset)$/. The unified windows report a spent
fraction instead of a remaining count, so -utilization matches nothing and is discarded, and
-status has no branch at all. A rate-limited account is therefore told when its window clears
and never how full it is.
If a response carries only unified headers, limit/remaining/reset all stay empty and the
emptiness check returns undefined, so there are no details at all.
OpenCode version
1.18.31 (dev)
Steps to reproduce
- Use an Anthropic subscription (OAuth) account, not an API key.
- Make a request that comes back with the unified headers:
anthropic-ratelimit-unified-5h-utilization,anthropic-ratelimit-unified-5h-reset,
anthropic-ratelimit-unified-status. - Inspect the parsed
HttpRateLimitDetails— the reset is present, the utilization and status are gone.
Operating System
macOS 26.0 (arm64)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.