Significant-Gravitas/AutoGPT · error · HTTPException
No daily limit is configured — nothing to reset.
Error message
No daily limit is configured — nothing to reset.
What it means
HTTP 400 from POST /usage/reset (routes.py:1046). After fetching the user's effective limits via get_global_rate_limits, the endpoint checks that a daily cost limit exists (daily_limit > 0). If the resolved daily_cost_limit_microdollars is 0 there is no daily counter to clear, so the paid reset would buy nothing and the request is rejected. Note the config comment in copilot/config.py: '0 means no spend allowed', so a 0 limit can also come from tier overrides.
Source
Thrown at autogpt_platform/backend/backend/api/features/chat/routes.py:1046
raise HTTPException(
status_code=400,
detail="Rate limit reset is not available.",
)
if not settings.config.enable_credit:
raise HTTPException(
status_code=400,
detail="Rate limit reset is not available (credit system is disabled).",
)
daily_limit, weekly_limit, tier = await get_global_rate_limits(
user_id,
config.daily_cost_limit_microdollars,
config.weekly_cost_limit_microdollars,
)
if daily_limit <= 0:
raise HTTPException(
status_code=400,
detail="No daily limit is configured — nothing to reset.",
)
# Check max daily resets. get_daily_reset_count returns None when Redis
# is unavailable; reject the reset in that case to prevent unlimited
# free resets when the counter store is down.
reset_count = await get_daily_reset_count(user_id)
if reset_count is None:
raise HTTPException(
status_code=503,
detail="Unable to verify reset eligibility — please try again later.",
)
if config.max_daily_resets > 0 and reset_count >= config.max_daily_resets:
raise HTTPException(
status_code=429,
detail=f"You've used all {config.max_daily_resets} resets for today.",
)View on GitHub (pinned to 9c8bb5550f)
Solutions
- Check the user's tier overrides and global config: set daily_cost_limit_microdollars to a positive value for that tier (backend/copilot/config.py:366 area or tier override source).
- If a 0-limit tier is intentional (blocked users), surface that state in the UI as 'no daily allowance' instead of offering a paid reset.
- Client-side: read the daily limit from the usage-status endpoint before offering the reset button.
Example fix
# before # tier override zeroes the daily cap -> /usage/reset returns 400 daily_cost_limit_microdollars = 0 # after # give the tier a real daily cap so the reset has meaning daily_cost_limit_microdollars = 2_000_000 # $2.00/day in microdollars
Defensive patterns
Strategy: validation
Validate before calling
// fetch effective limits before offering a reset
const usage = await getUsageStatus();
if (usage.daily.limit <= 0) {
showNotice('Your plan has no daily allowance to reset');
} else if (usage.daily.used >= usage.daily.limit) {
await post('/chat/usage/reset');
} Try / catch
try { await post('/chat/usage/reset'); } catch (e) { if (e.status === 400 && /nothing to reset/.test(e.detail)) { showPlanNotice(); return; } throw e; } Prevention
- Drive the reset affordance from live usage-status data, not assumptions
- Validate tier overrides expose positive daily limits before enabling the feature for that tier
- Distinguish 'limit is 0' (blocked tier) from 'limit reached' in the UI
When it happens
Trigger: Calling /usage/reset when the user's tier resolves daily_cost_limit_microdollars to 0 — either the global config default is 0 or the user's tier override sets 0. get_global_rate_limits(user_id, config.daily_cost_limit_microdollars, ...) returned 0 for the daily slot.
Common situations: Tier-based limit overrides that zero out the daily cap for trial/blocked tiers; a fresh deployment that never set DAILY_COST_LIMIT_MICRODOLLARS and defaults to 0; user confusion between 'blocked tier' (limit 0) and 'hit my limit'.
Related errors
- Rate limit reset is not available.
- You've used all {config.max_daily_resets} resets for today.
- Rate limit reset is not available (credit system is disabled
- Unable to verify reset eligibility — please try again later.
- A reset is already in progress. Please try again.
AI-assisted analysis of Significant-Gravitas/AutoGPT@9c8bb5550f (2026-08-14).
Data as JSON: /api/errors/7aa838c72b2e6162.
Report an issue: GitHub.