Skip to content

[Bug]: GitHub Copilot's plan quota never shows in Usage → Limits #22862

Closed

Description

@pWoLiAn

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Steps to reproduce

  1. Sign in to GitHub Copilot CLI (copilot login) on a Copilot plan, and enable GitHub Copilot under Settings → Providers (ACP registry).
  2. Send a Copilot thread any message and wait for the reply.
  3. Open Usage → Limits.

Expected behavior

GitHub Copilot is listed with its monthly allowances (premium requests, plus chat/completions on plans that cap them) and the reset date, as Codex, Claude, Cursor, Grok, OpenCode and Antigravity are.

Actual behavior

Copilot is not listed. It runs through the generic packages/provider-acp-registry driver (copilotAcp.ts handles only subagent routing), and that driver never sets usageLimits, so providersWithLimits drops it. Over ACP, Copilot sends only per-session context token counts (usage_update), never plan quota.

The quota is available. The Copilot CLI's own /usage and the VS Code Copilot extension read it from GET https://api.github.com/copilot_internal/user, using the same GitHub auth that Copilot CLI already holds.

Impact

Minor bug or occasional failure

Version or commit

T3 Code (Beta) 0.1.1; checked against main @ 066c8fc

Environment

macOS 26.6.2, desktop app, GitHub Copilot CLI 1.0.101 (ACP mode), Copilot Individual plan

Logs or stack traces

# GET /copilot_internal/user (abridged; identifiers removed)
{
  "copilot_plan": "individual",
  "quota_reset_date_utc": "2026-11-01T00:00:00.000Z",
  "quota_snapshots": {
    "chat":                 { "entitlement": 200,  "remaining": 196,  "percent_remaining": 98.3,  "unlimited": false, "overage_permitted": false },
    "completions":          { "entitlement": 2000, "remaining": 2000, "percent_remaining": 100.0, "unlimited": false, "overage_permitted": false },
    "premium_interactions": { "entitlement": 0,    "remaining": 0,    "percent_remaining": 0.0,   "unlimited": false, "overage_permitted": false }
  }
}

Workaround

Run /usage inside Copilot CLI, or open GitHub → Settings → Billing → Premium requests. There is nothing in T3 itself.

Proposed fix

Add a Copilot usage reader, following apps/server/src/provider/{codex,claude,antigravity}UsageLimits.ts. On each status check, the ACP-registry driver for the Copilot agent would:

  • call /copilot_internal/user with the token Copilot CLI uses (or gh auth token as a fallback);
  • map each quota_snapshots entry with unlimited: false and entitlement > 0 to a monthly window that resets at quota_reset_date_utc;
  • skip unlimited entries and zero-entitlement entries (e.g. premium_interactions on plans without premium requests), and note when overage_permitted is true;
  • show one row per GitHub login, so the same account on several environments counts once.

The endpoint is undocumented (copilot_internal), so the reader should treat a missing or failed response as "no limits reported" rather than as an error. Mobile also needs a "GitHub Copilot" label (DRIVER_LABEL in UsageLimitsPooled.tsx).

Related: #18235 (the same gap for Muse Code), #193 (original Copilot CLI support).

Filed with Claude Opus 5.5 in GitHub Copilot CLI.

Activity

  1. locked and limited conversation to collaborators on Oct 21, 2026
  2. converted this issue into a discussion #22866 on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions