What probably matters to youSection of the release
What
The sandbox runtime's environment-variable and file credential-masking configuration gained new options:
decode: "jwt" – locates and verifies JWT (JSON Web Token)-shaped values and replaces them with a structurally valid fake token, swapping the real value back on the way out
maskClaims – masks only specific named claims inside a decoded JWT instead of masking the whole token value
maskDuplicates – also scrubs verbatim repeats of a captured secret that appear outside the original regex match
onExtractNoMatch – controls what happens when the configured extract regex doesn't match (warn, deny, or error), defaulting to warn
A separate schema addition also defines a MITM (man-in-the-middle) proxy configuration with socketPath and domains, to route matching traffic through the proxy, and an injectHosts option to narrow which hosts receive the real (unmasked) credential.
Why
Credentials are often embedded inside JWTs rather than being the whole value, so plain regex masking could miss or over-mask them. These additions let sandbox configurations mask JWT contents precisely, catch duplicate leaks, and control proxy routing more finely.
credentials.filesUse Claude Code features in the SDKmodified, high confidence| [`sandbox.credentials`](/docs/en/sandboxing#protect-credentials) `deny` entries and file `mask` entries in `~/.claude/settings.json` | When the [command sandbox](/docs/en/sandboxing) runs, Claude Code applies the `deny` entries and keeps…see the edit
Since it was published
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed sinceAnthropic's documentation has since written up credentials.envVars, on Configure the sandboxed Bash tool.| `credentials.envVars` `deny` and `mask` entries | Enforced. Environment variable scrubbing is independent of the filesystem layer |sandboxingsee the edit
Confirmed sinceAnthropic's documentation has since written up credentials.files, on Use Claude Code features in the SDK.| [`sandbox.credentials`](/docs/en/sandboxing#protect-credentials) `deny` entries and file `mask` entries in `~/.claude/settings.json` | When the [command sandbox](/docs/en/sandboxing) runs, Claude Code applies the `deny` entries and keeps…agent-sdk/claude-code-featuressee the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreescredentials.files on Use Claude Code features in the SDK