Skip to content

approval_required

Error codeView as Markdown

A human needs to approve this. This action is outside what your agent token may do on its own, or it touches a protected environment. Guv has stored the request and asked a human to approve it with a passkey. Nothing has happened yet.

  • HTTP status: 403 Forbidden
  • CLI exit code: 4 (approval required)
  • Retry: do not resend; Guv runs the stored request itself once a human approves

Ask the token owner to approve at {approval_url}, then wait: guv approvals wait {approval_id}

  1. Share the approval_url with the human, or let the push notification reach them.
  2. Wait with guv approvals wait <id> or poll GET /v1/approvals/{id}.
  3. Once approved, Guv runs the stored request itself. You do not need to send it again.

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

Exit code 4 means approval required. Do not retry with a different token or look for a workaround; wait for the human.

{
"type": "https://guv.dev/errors/approval_required",
"title": "A human needs to approve this",
"status": 403,
"code": "approval_required",
"detail": "This action is outside what your agent token may do on its own, or it touches a protected environment.",
"fix": "Ask the token owner to approve at {approval_url}, then wait: guv approvals wait {approval_id}",
"docs_url": "https://guv.dev/errors/approval_required",
"request_id": "req_01jbx2m9k7q4r8t5v6w3y0z1rq"
}

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