Skip to main content

E1304. Approvals not configured (pure-local mode)

Severity: ERROR. Class: HITLNotConfiguredError (subclass of RuntimeError).

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