E1304. Approvals not configured (pure-local mode)
Severity: ERROR. Class:
HITLNotConfiguredError(subclass ofRuntimeError).
What happened
You called client.request_approval() on a Client constructed in pure-local mode (no api_key). Approvals require a backend round-trip; pure-local has no backend.
Why it matters
Pure-local mode is intentionally offline: zero network, zero accounts. The approval workflow is fundamentally a hosted-mode feature.
How to fix
Either (a) configure an API key (controlzero install --api-key <key> --email <email>) to switch to hosted mode, or (b) don't call request_approval() in pure-local code paths. Use decision.hitl_eligible (always False in pure-local) as a gate.
Catching this error
except RuntimeError catches this. Pure RuntimeError because it's a programmer error, not a request-time fail-closed.
See also
- Approval Workflow. The parent concept
- SDK: Approval callback. The
request_approval+waitAPI - Errors index