github / github/copilot-cli

account.getQuota returns the request timestamp as resetDate instead of the quota reset date

Open
#4,504 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:non-interactive
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Describe the bug

The Copilot CLI JSON-RPC account.getQuota response returns an incorrect resetDate for quota snapshots.

Environment:

  • GitHub Copilot CLI: 1.0.80
  • CLI started with:
    copilot --server --no-auto-update --log-level error --stdio

I sent the following JSON-RPC request:

{"jsonrpc":"2.0","id":2,"method":"account.getQuota","params":{}}

For premium_interactions, the raw response included:

{
"entitlementRequests": 1500,
"usedRequests": 1500,
"remainingPercentage": 0,
"resetDate": "2026-08-15T23:06:14.840-07:00"
}

This timestamp matched the time the account.getQuota request was made, rather than the account's actual premium quota reset date. The same resetDate timestamp was returned for chat, completions, and premium_interactions.

The GitHub Copilot web UI shows the actual billing-cycle reset date, for example:

Resets in 16 days on Sep 1, 2026

The CLI response does not include a separate quota_reset_at or equivalent field.

Because resetDate tracks the request time, CLI/API consumers cannot accurately display when the premium quota resets.

Expected behavior:

  • resetDate should contain the actual quota/billing-cycle reset timestamp; or
  • account.getQuota should expose a separate reset timestamp field for each quota bucket.

Actual behavior:

  • resetDate is effectively the quota-fetch timestamp and changes each time account.getQuota is called.
Affected version

No response

Steps to reproduce the behavior

No response

Expected behavior

No response

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the account.getQuota JSON-RPC handler and the code that constructs quota snapshots. Trace how resetDate is populated for each quota bucket, then verify that repeated requests no longer return the request timestamp and that the response exposes the actual quota reset time.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
api, cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
57/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.