Claude Code Auto Mode: The Server Returned No Safety Verdict
If auto mode keeps denying actions with "gave no verdict", Claude Code asked Anthropic's server to review the action and never got a usable answer, so it refused to run the action unreviewed. The cause is almost always one of four things: a gateway or proxy mangling the response, a conversation too long for the check, a hook that edited the call after review, or a transient server timeout. This page maps each message to its cause and fix.
Verified against: the Claude Code permission-modes, errors, and environment variables pages and the GitHub changelog for 2.1.319, all fetched on 2026-11-09. This is documentation reading, not a live run: we did not put a gateway in front of a session or reproduce a denial, so everything below is as documented.
What does "no safety verdict" mean?
In auto mode, actions that the classifier's decision order sends for review can be checked by the server as part of the session's model requests, instead of by separate classifier calls from your machine. Where the server reviews, its verdicts decide. If the review results never arrive, or arrive in a form Claude Code cannot read, Claude Code denies the action rather than run it unreviewed.
The denial text names a category in parentheses when it can, for example:
The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.
After ten responses in a row with no verdict, auto mode stops the turn. The message starts "Auto mode is unavailable" and continues "the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode." Sending another message resets the count of ten.
Which sessions ask the server?
Per the permission-modes page, these sessions ask the server to review actions:
| Connection | Asks the server |
|---|---|
| Direct to the Anthropic API | Yes, as Anthropic rolls it out; minimum version depends on session type (v2.1.271 to v2.1.281) |
Cloud provider, or ANTHROPIC_BASE_URL pointed at an LLM gateway or proxy | Yes, by default from v2.1.278 |
| Signed-in Claude apps gateway | Yes, from v2.1.280 |
| Anthropic-hosted cloud session | Yes, as Anthropic rolls it out |
Check /status: the Auto mode server line shows Enabled when the server is set to review the session's calls. The 2.1.319 changelog also fixed a case where it showed Enabled while the review was not reaching the session, for example behind a gateway that drops it.
Why does it happen, and what fixes it?
1. A gateway or proxy cuts streams short or rewrites results. The docs name this as the most common cause behind a gateway. Fix it at the gateway: forward the review request and the results unchanged and do not truncate streaming responses. The gateway compatibility guide's feature pass-through section lists what to pass through. If you cannot change the gateway, set CLAUDE_CODE_AUTO_MODE_SERVER=0 before starting Claude Code.
2. The conversation is too long for the check. The denial says (the conversation is too long for the check). Run /compact. Until the conversation is shorter, another message gets the same denial. If you turned auto-compact off, turn it back on. Before v2.1.302, on a direct API connection, Claude Code did not compact such a conversation by itself.
3. A hook changed the call after review. If a PreToolUse hook rewrites a call's input after the server reviewed it, the review no longer covers what would run. This denial is not a judgment that the action is unsafe, and it does not count toward the ten. Disable the hook (run /hooks to find it) or switch to Manual mode. Our hooks guide covers updatedInput.
4. The server's check failed, for example a timeout. On a direct connection, this can happen with no gateway involved. Send another message to retry. The denial message tells Claude whether one retry can help.
How do I skip server review?
Set the environment variable before launching:
CLAUDE_CODE_AUTO_MODE_SERVER=0 claude
Claude Code then uses its own classifier requests, which go to Claude Sonnet 5 by default. On a direct connection to the Anthropic API the variable needs v2.1.281 or later. The tradeoff, from the docs: on accounts where those requests are billed (Enterprise plans, Claude API accounts, and cloud providers), classifier calls count toward your token usage and add a round trip before each reviewed action.
Setting it to 1 turns server review on in a session that does not have it, unless you also set CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1. With that second variable set and CLAUDE_CODE_AUTO_MODE_SERVER unset, Claude Code also stops asking the server.
What changed in 2.1.319?
The changelog for 2.1.319 says that with telemetry or feature flags off, including behind LLM gateways, calls the server cannot check are asked about or denied, with no fallback to the built-in classifier. CLAUDE_CODE_AUTO_MODE_SERVER=0 keeps the built-in classifier in use; Bedrock, Vertex and Foundry are unchanged. It also made claude -p exit 1 in auto mode when actions were refused for lack of a safety check, where it used to exit 0.
Docs gap: the permission-modes page we fetched still says that when the server does not review a session, "Claude Code falls back to its own classifier requests". That reads as contradicting the changelog for the flags-off and gateway case. We cannot tell from text alone which is current for your setup, so test your own configuration rather than trusting either line. If you run claude -p in a script, check the exit code after upgrading: see running Claude Code on a schedule.
What we did not verify
- We did not reproduce any denial or run a gateway. Causes and fixes are from the docs.
- We could not confirm which of the two statements above (docs page versus changelog) applies to a gateway session with flags on.
- Rollout of server review on direct API connections is described by the docs as ongoing, so which sessions ask the server can differ between accounts.
FAQ
Is a "no verdict" denial a sign the action was dangerous?
No. It means the server's answer did not arrive in a readable form, so auto mode could not decide. The action is denied by default, not judged unsafe.
Why does my session stop after ten denials?
Auto mode counts consecutive responses with no verdict and stops the turn at ten. Sending a message starts the count again. A hook-changed-input denial does not count toward ten.
How do I check whether the server is reviewing my session?
Run /status and read the Auto mode server line. Enabled means the server is set to review the session's calls.
Does CLAUDE_CODE_AUTO_MODE_SERVER=0 make auto mode less safe?
It switches review from the server to Claude Code's own classifier requests. The docs present it as the supported way to skip the server; they do not say one is safer than the other.
Which Claude Code version do I need?
For the variable on a direct API connection, v2.1.281 or later. Server review itself starts at v2.1.271 to v2.1.281 depending on plan and session type, and v2.1.278 for gateways.
Why does claude -p exit 1 when auto mode refuses an action?
From 2.1.319, claude -p exits 1 in auto mode when actions were refused because no safety check was available, per the changelog. Earlier versions exited 0.