PuppyIP Resource Center
AI Tool Guides 6 min Published 2026-10-05

Why did Claude Code's cache drop to five minutes? Subscription TTL and /usage checks

If a subscription account shows five minutes, first check current usage and configuration, then inspect /usage. Purchase records, the actual session, and displayed statistics must align before the cause can be established.

Claude Code Prompt caching TTL Usage troubleshooting

Service eligibility and regional restrictions

PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.

Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.

Key Takeaways

  • Within included subscription usage, the main conversation defaults to one hour. Usage credits, API keys, or cloud platforms default to five minutes.
  • /usage cache statistics require v2.1.251 or later and the main conversation's first response. They cover only the main conversation.
  • FORCE_PROMPT_CACHING_5M=1 takes precedence over TTL environment variables and setting keys; the corresponding environment variables also override setting keys.

Distinguish the main conversation from subagents first

Requests such as subagent calls default to five minutes. A small number of server-controlled auxiliary requests within included subscription usage are exceptions at one hour. Establish which request type you are observing before checking.

First state the problem clearly: does the interface directly show a changed duration, or are you inferring a cache miss because a response slowed after a pause? The former can be checked against statistics; the latter still needs evidence. This article organizes terminal troubleshooting from current official documentation. Its publication date is not treated as the feature's launch date, and no account or model-call testing was performed.

Confirm the active account and client

Run claude --version in the terminal to record the version, then use claude auth status --text for readable authentication status. Confirm that this is your usual terminal environment. Do not sign out, sign back in, or switch accounts just to troubleshoot, since that may change what is being compared.

Open the corresponding account's usage page and check whether usage is still included or has started consuming extra usage. Record the observation time and exact page notice instead of simply saying “I bought a subscription.” If your organization manages billing, have an authorized person verify the billing method. There is no need to enable extra paid usage or raise spending caps to test caching.

Find the actual TTL in /usage

Enter /usage in the existing interactive session and inspect Prompt cache (main) under Session. Record the account, project, and observation time first to avoid directly comparing screenshots from different environments.

Read TTL and warm or cold first, then consider the cached-input share and miss count. From v2.1.260, likely cause also appears when a cause can be identified. expected rebuild indicates an expected rebuild after context compaction or clearing old tool results. Not every miss is a failure.

Save readings at a natural pause in ordinary work, then compare after continuing the original task. Do not send a string of meaningless prompts just to pursue a high hit rate. /clear resets Session statistics, so do not clear before preserving evidence. If the display says the API did not report cache information, record that as insufficient statistics, not a conclusion of ineligibility.

Separate cache duration from cache hits

TTL starts from the request that writes or reads the cache, and a hit refreshes it. Time spent generating the response also counts. API cache reuse additionally requires an exactly matching prompt prefix. A duration that has not elapsed does not guarantee that a modified request can reuse the original content. Extending the cache is not a switch for usage without consumption.

A short record can contain “version / authentication method / project / observation time / duration / latest prompt.” This is only a record template, not a measurement result. If the account, project, or model changed between observations, note that before deciding whether the screenshots are comparable. Do not attribute timing differences between unrelated work directly to TTL.

For Pro and Max, Session dollar estimates are not subscription bills. To investigate charges, preserve account-usage or billing evidence instead of converting one cache-statistics line into a plan-price increase, reduced allowance, or fixed savings amount.

If defaults do not match, inspect overriding configuration

v2.1.242+ supports promptCacheTtl for the main conversation and subagentPromptCacheTtl for other requests, with values 5m or 1h. Record original values before checking override sources in priority order.

For this investigation, read configuration first rather than changing duration. The user-level file is usually ~/.claude/settings.json, and projects have shared and local settings too. Run /status in the session to inspect managed-setting sources. Identify the effective layer first and confirm its purpose with the configuration owner. Do not delete an entire section just because a key exists.

If a change is necessary, save the original value and add or modify only the target key while retaining other configuration. Settings files use strict JSON without comments or trailing commas. Do not overwrite the entire file with a one-line online example. If settings errors appear after editing, run claude doctor in the terminal and locate the file and key from the error.

If discrepancies remain, retain evidence before diagnosing further

A longer duration increases API cache-write cost and cannot be promised to save money. Do not simultaneously change gateways, payment methods, and configuration merely to resolve a question. First align existing readings with the supported conditions.

Hand off a small, reviewable case: when the discrepancy began, client version, authentication method, configuration source, original error, and before/after readings from the same session. Redact account identifiers and project content before sharing screenshots. Do not paste keys or an entire environment-variable set. If there is only one slow response, explicitly record “cause unconfirmed” and observe normal work first, avoiding multiple simultaneous setting changes that destroy the comparison.

Sources

Frequently Asked Questions

Why check the usage page when I have always had a subscription?

Usage credits consumed beyond the included allowance shorten the main conversation's default duration, and configuration may also override defaults. Check the notice at the time, not only purchase records.

Should I reinstall if cache statistics are missing?

First confirm at least v2.1.251 and that the main conversation has received its first API response. If fields remain missing, save the actual notice. Missing statistics do not mean zero caching, and immediate reinstallation is unnecessary.

Why can behavior still differ when configuration says 1h?

Check force switches and environment-variable overrides first. Claude apps gateway does not support one hour. For Bedrock, verify the model, Region, and restrictions. Custom gateways must forward the anthropic-beta request header.

What counts as a useful troubleshooting result?

At minimum, identify the account and session behind the readings, the source of current configuration, and which explanations have evidence. “The cause remains unknown” is a valid finding, but do not describe unknowns as zero hit rate or a downgraded subscription.