# plan_hash_mismatch

> The live state changed since this plan was made. You tried to apply a plan, but something changed after the plan was made (another deploy, a teammate, or an agent).

**The live state changed since this plan was made.** You tried to apply a plan, but something changed after the plan was made (another deploy, a teammate, or an agent). Applying the old plan could undo their work, so Guv stops.

- **HTTP status:** `409 Conflict`
- **CLI exit code:** `2` (the request or file is not valid)
- **Retry:** not as it is; the same request will fail the same way until the cause is fixed

## How to fix it

Run `guv plan` again and apply the new plan hash.

## What the response looks like

```json
{
  "type": "https://guv.dev/errors/plan_hash_mismatch",
  "title": "The live state changed since this plan was made",
  "status": 409,
  "code": "plan_hash_mismatch",
  "detail": "You tried to apply a plan, but something changed after the plan was made (another deploy, a teammate, or an agent).",
  "fix": "Run `guv plan` again and apply the new plan hash.",
  "docs_url": "https://guv.dev/errors/plan_hash_mismatch",
  "request_id": "req_01jbx2m9k7q4r8t5v6w3y0z1rq"
}
```

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