Skip to content
    ↑↓ select↵ openesc close
    reda-maizate

    Ratelimits

    opencode-ratelimits·v1.1.4·Model Providers

    Display provider rate limits (x-ratelimit-* headers) in the OpenCode TUI footer

    GitHub stars

    0

    Monthly installs

    580

    580 in 7 days

    Composite score

    37.0

    Multi-signal model

    Last commit

    4 days ago

    2026-10-16

    Install and configure

    opencode.json

    Writes to this project's opencode.json — applies to this repository only.

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-ratelimits@1.1.4"]
    }

    OpenCode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.

    npm version License: MIT

    An OpenCode plugin that displays your provider's rate limits (x-ratelimit-* headers) in the TUI footer. Published on npm.

    ⚡ 599/600 req · 858K/1M tok · reset 8.5s
    

    Install

    Install from npm (the plugin is published there):

    opencode plugin add opencode-ratelimits
    

    Or add it to your config — global (~/.config/opencode/opencode.json) or per-project (opencode.json):

    {
      "plugins": ["opencode-ratelimits"]
    }
    

    Or install from GitHub:

    opencode plugin add github:reda-maizate/opencode-ratelimits
    

    Restart the TUI after installing (the TUI client loads plugins on startup):

    # quit the TUI, then reopen it
    opencode
    

    Update later with opencode plugin update.

    How it works

    The plugin has two entrypoints that communicate over OpenCode's plugin RPC:

    • Server (index.ts) — hooks http.response, extracts the x-ratelimit-* headers from primary responses, and publishes them as typed RPC events.
    • TUI (tui.tsx) — calls the plugin's ratelimits RPC for the current state, subscribes to updated events, and renders the limits for the session's active provider in the prompt.footer.status slot.

    Limits are tracked per provider, so switching models — or subagents running on another provider — each show their own numbers. The footer hides itself after ten minutes without a response.

    If the footer never appears, your provider likely doesn't send rate-limit headers (see below), or the server plugin failed to load — check the OpenCode server log.

    Requirements

    • OpenCode v2 or later — the plugin uses the v2 plugin system (separate server and TUI entrypoints communicating over RPC).
    • Your provider must return OpenAI-compatible rate-limit headers:
    Header Example
    x-ratelimit-limit-requests 600
    x-ratelimit-remaining-requests 599
    x-ratelimit-reset-requests 100ms
    x-ratelimit-limit-tokens 1000000
    x-ratelimit-remaining-tokens 999999
    x-ratelimit-reset-tokens 8s522ms

    These are returned by Scaleway's Generative APIs and other OpenAI-compatible providers.

    Development

    bun install    # dev dependencies (types and tests only — the plugin itself has none)
    bun run typecheck
    bun test
    

    License

    MIT

    Similar plugins