Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.239 Home All releases olderv2.1.238 v2.1.240newer
Claude Code v2.1.239

Requests blocked by an organization's data-loss-prevention policy are now a distinct outcome

You'll notice
Useful3 Signal3
Errors

Requests refused by your organization's data-loss-prevention policy now show the exact reason instead of a generic failure.

What

When a server refuses a request under an organization's data-loss-prevention policy, Claude Code now recognises the specific error code dlp_request_denied instead of showing a generic failure. It is treated as terminal for that request body, counted as a refusal when deciding whether a turn completed, and reported as the exact error detail rather than truncated free text. No client flag governs this; it activates whenever your organization's server returns that code.

Details
  • Added to the api_error union in the SDK message schema, documented there as terminal for that request body, with a note that anything replaying history must not re-send it.
  • Carried through query results as an isDlpDenied flag.
  • Turn-completion telemetry now records a verdict of dlp_denied, separate from the plain refusal verdict.
  • None of this code exists in 2.1.238.
Evidence

dlp_request_denied, dlp_request_denied: the request was refused by the organization's data-loss-prevention policy

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

See this entry in the whole of v2.1.239 →