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.216 Home All releases olderv2.1.215 v2.1.217newer
Claude Code v2.1.216

JWT Credential Masking for Sandbox Environments

What

The sandbox.credentials.envVars config now supports decode: "jwt" to handle JWT tokens: the token is replaced with a structurally valid but fake JWT inside the sandbox, with real claim values masked as sentinels injected into requests.

Details
  • Add decode: "jwt" to a credentials.envVars entry to activate JWT handling
  • Optional maskClaims: ["sub", "email"] masks specific string claims within the JWT, replacing each with a per-claim sentinel injected at the network layer
  • If the environment variable is not a valid JWT, the variable is left unprotected and a warning is logged
  • If maskClaims names a claim that is absent or not a string, that claim is skipped and logged
  • Replaces the previous extract-regex-only approach, which remains available for non-JWT values
Evidence

JWT masking handler (search for "decode \"jwt\"" or "maskClaims"). Fake token generator (search for "pnu = \"c3J0LWZha2U\"" which is the fake signature base64).

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.216 →