ZCode Usage Limit Reached? How to Check GLM Coding Plan Quotas and Reset Cards
A practical troubleshooting guide for separating local App Usage from remote GLM Coding Plan quotas, finding the pool that is blocking work, checking account connection, using an eligible reset card before it expires, and choosing a safe way to continue.
Contents

When ZCode says you have reached a limit, do not start with the local token chart. Open Usage Statistics → Coding Plan, check the 5-hour and weekly counters, and identify the pool that is actually depleted. If a Reset button appears, open it, check the card’s expiry, and use it before it lapses. If no card appears, verify that ZCode is signed in to the correct Z.ai or BigModel account and connected to that account’s Coding Plan. Then either wait for the blocking pool to refresh, use an eligible reset card, or deliberately switch to a separately billed provider.
The important distinction is this: App Usage is local history, a Coding Plan is remote subscription quota, and a general API key has its own access and billing. One does not automatically refill or prove the state of another.
This guide was checked against the official ZCode and Z.ai documentation on October 3, 2026. Plan rules and eligibility can change, so the counters and reset options shown in your account are the final source of truth.
The 60-second decision path
- Open Usage Statistics and select Coding Plan, not App Usage.
- Check the 5-hour, weekly, and—if the failed task used tools—MCP counters.
- Confirm that the selected provider is the intended Z.ai or BigModel Coding Plan and that the correct personal or team account is active.
- If Reset is shown, open the reset panel, read the expiry, and use the card.
- If no reset is available, follow the reset time shown for the depleted pool or intentionally choose another configured provider with separate quota and billing.
- Revalidate with one short request before returning to a long agent task.
That sequence avoids the two most common mistakes: treating a local usage chart as a subscription meter, and assuming an API balance is an extension of the Coding Plan.
First, read the right meter
ZCode’s official Usage Stats documentation separates two views that answer different questions.
| View or counter | What it tells you | What it does not prove |
|---|---|---|
| App Usage | Local ZCode sessions recorded on the current device, including tokens, messages, active days, and model distribution | Whether the remote GLM Coding Plan still has quota |
| Coding Plan: 5-hour | Remaining quota in the active short window | Whether the weekly pool still has room |
| Coding Plan: weekly | Remaining quota in the active weekly cycle | Whether the 5-hour pool is currently available |
| MCP quota | Remaining allowance for covered tool calls | That normal model generation is also exhausted |
| A separate API-key provider | That provider’s own availability and quota | A refill of your Z.ai or BigModel Coding Plan |
A high number in App Usage may explain that you have been busy, but it is not the remote subscription balance. Conversely, a low local total does not prove that your Coding Plan has quota: the plan could have been used from another device, another supported tool, or a team connection.
Find the pool that is blocking the request
The Coding Plan applies more than one limit. Check all visible pools before deciding what to do.
The 5-hour pool is empty, but the weekly pool is not
The short window is the immediate blocker. Use an eligible 5-hour reset card if ZCode shows one; otherwise, wait for the short-window refresh displayed by the account. The current individual-plan documentation describes 5-hour credits as dynamically refreshed after consumption, but your account UI should control the exact timing.
The weekly pool is empty
A healthy 5-hour counter does not bypass an exhausted weekly counter. Look for a weekly reset card. If none is available, wait for the weekly reset shown in your account. Current plan documentation describes weekly credits as resetting on a seven-day cycle, while legacy and team plans may display their own cycle details.
Only the MCP pool is empty
Treat MCP as a separate tool allowance. A task that requires web search, a reader, or another covered tool may fail even when model quota remains. As a diagnostic test, send a small request that does not require the affected tool. This does not create more MCP quota; it only tells you whether the model path still works.
The Coding Plan panel is missing or cannot load
That points first to connection state rather than confirmed quota exhaustion. Verify the signed-in account, provider, plan selection, and network reachability before waiting for a reset that may not apply to the active connection.
Verify the account and plan connection
Open the model selector in the chat box, choose Manage Models, and go to Settings → Model Settings. The official Connect Models & Plans guide says that an authorized Z.ai account with an active GLM Coding Plan uses that account’s plan and quota directly.
Check these items in order:
- Provider: Z.ai or BigModel is enabled.
- Account: the displayed account is the one that owns the plan.
- Connection mode: you are using the intended Coding Plan connection, not an unrelated API key.
- Plan scope: if both personal and team plans are available, the intended one is selected. A team entry without an assigned seat cannot supply team quota.
- Selected channel: the current chat is actually using that provider and plan.
Reset-card eligibility depends on this connection. ZCode’s documentation states that cards are issued only when the user is signed in and connected to the account’s Coding Plan. An API key by itself, or a signed-in account without a Coding Plan, does not qualify for those cards.
If Connect remains in a loading state, the official FAQ recommends checking both network access to the model service and whether the account or API key has quota and model access.
Use a reset card only when ZCode shows one
ZCode 3.8.1 and later can show available 5-hour or weekly reset opportunities inside the provider panel and the Coding Plan tab. When a card is present:
- Click Reset.
- Read the Resettable quota panel and confirm which pool the card applies to.
- Check the expiry before using it.
- Apply the card.
- Reopen the Coding Plan counter and confirm that the intended pool returned to 100% and the card is marked as used.
Cards expire. If several exist, the official documentation says the earliest received card is consumed first.
Why no reset card may appear
No button does not automatically mean ZCode is broken. Automatic 5-hour reset cards are conditional: the documentation says the account must be in the relevant off-peak period, usage must exceed a threshold, and the daily issue limit must not have been reached. Both the window and threshold are dynamic. The reset-card off-peak period is also not the same as the one used for idle-time tasks.
Therefore, do not rely on a fixed hour, percentage, or promise from another user’s screenshot. Use the card only when your own app displays it. If it is absent, verify the account connection once, then plan around the quota’s displayed refresh time.
Choose how to resume coding
Option 1: Wait for the blocking pool to refresh
This is the cleanest option when the work can pause. Record which pool is empty and the reset time shown in ZCode. Do not assume that a new calendar day resets a rolling 5-hour window, and do not assume that a recovered 5-hour pool overrides a still-empty weekly pool.
While waiting, you can prepare the next prompt, reduce unnecessary context, run local tests, or split a large task into checkpoints. These steps do not create quota, but they reduce the chance of spending the refreshed allowance on avoidable retries.
Option 2: Use an eligible reset card
Use it before expiry and only for the pool named in the panel. A 5-hour card does not necessarily reset the weekly pool, and a weekly card should not be treated as a general balance credit. The success signal is the target quota returning to 100% in the Coding Plan view.
Option 3: Deliberately switch to another configured provider
ZCode supports separate model providers and API-key connections. This can keep work moving, but it is a new access path—not an extension of the exhausted Coding Plan.
Before switching:
- confirm the provider’s own quota, pricing, and permitted models;
- select it explicitly in the model selector;
- send a short test instruction;
- verify which account will be charged; and
- never paste a secret API key into a chat message, screenshot, or public issue.
The official configuration guide distinguishes Coding Plan access from general API resource packages or prepaid balance and warns that the coding and general endpoints are not interchangeable. A separate API balance can therefore incur separate charges and does not restore the plan counters.
Symptom-to-action table
| What you see | Most likely interpretation | Next check or action | Success signal |
|---|---|---|---|
| App Usage is high, but Coding Plan counters are healthy | Local history is not the remote limiter | Check the selected model channel and exact error | A short request succeeds on the intended plan |
| 5-hour remaining is 0%, weekly remains available | Short-window quota is blocking | Use a displayed 5-hour card or wait for its refresh | 5-hour counter becomes available |
| Weekly remaining is 0% | Weekly quota is blocking | Use a displayed weekly card or wait for the account’s weekly reset | Weekly counter becomes available |
| MCP quota is empty, model quota remains | A covered tool pool may be blocking the task | Test a request without that tool, then wait for or restore MCP quota | Plain model request works, or MCP counter recovers |
| No reset button appears | No eligible card is currently shown | Verify sign-in and Coding Plan connection; do not assume a card is owed | A card later appears, or the normal quota refresh completes |
| Connect keeps loading | Network, account access, or quota/model permission may be the issue | Check connectivity and the active account or API key | Provider loads and a short test request returns |
| Reset was applied but the same error remains | Wrong pool, stale display, or wrong selected channel | Refresh stats, confirm the active provider, and test again | Target counter is restored and the selected channel responds |
If the quota looks restored but work is still blocked
Use a controlled recheck instead of immediately repeating the long task:
- Refresh the provider panel and Usage Statistics → Coding Plan.
- Confirm that the restored counter belongs to the same personal or team plan selected in the chat.
- Start a new short conversation and send a minimal instruction.
- If that succeeds, retry the larger task from a checkpoint rather than resending everything.
- If it still fails, capture the exact error, timestamp and time zone, ZCode version, selected provider, plan type, and screenshots of the quota panel. Hide API keys and account-sensitive data.
The official Feedback & Support guide recommends including usage context, reproduction steps, screenshots, and relevant logs. ZCode also provides in-app feedback and an error-banner feedback action. Supplying the account’s visible quota state is more useful than reporting only “the limit is broken.”
Final checklist
Before you resume a long coding session, confirm all six points:
- You read Coding Plan, not just App Usage.
- You know whether the 5-hour, weekly, or MCP pool is the blocker.
- ZCode is connected to the intended account and personal or team plan.
- Any reset card applies to the correct pool and has not expired.
- Any alternate provider is understood as separate quota and billing.
- A short test succeeds on the channel you intend to use.
That is the reliable way to handle a ZCode usage limit: diagnose the active pool first, use only the reset opportunity your account actually shows, and treat every alternate provider as a separate service rather than invisible extra Coding Plan quota.