# spend_cap_reached

> The spend cap has been reached. This change would take you past your monthly spend cap, so Guv refused it.

**The spend cap has been reached.** This change would take you past your monthly spend cap, so Guv refused it. Caps are hard: Guv will not quietly run up a bill you did not agree to.

- **HTTP status:** `402 Payment Required`
- **CLI exit code:** `5` (quota or spend cap)
- **Retry:** not as it is; the same request will fail the same way until the cause is fixed

## How to fix it

Raise the cap: guv spend cap set {amount} (agents need approval).

1. See where the money is going with `guv spend --forecast`.
2. Raise the cap in the dashboard if you mean to. Raising a cap always needs a human, never an agent.

Words in `{braces}` are filled in from the error response, which names the exact resource.

## What the response looks like

```json
{
  "type": "https://guv.dev/errors/spend_cap_reached",
  "title": "The spend cap has been reached",
  "status": 402,
  "code": "spend_cap_reached",
  "detail": "This change would take you past your monthly spend cap, so Guv refused it.",
  "fix": "Raise the cap: guv spend cap set {amount} (agents need approval).",
  "docs_url": "https://guv.dev/errors/spend_cap_reached",
  "request_id": "req_01jbx2m9k7q4r8t5v6w3y0z1rq"
}
```

The `code` field is stable: match on it, not on `title` or `detail`, which may be reworded.
