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.116 Home All releases olderv2.1.114 v2.1.117newer
Claude Code v2.1.116

OIDC Federation Authentication

What

Full Workload Identity Federation (WIF) authentication system enabling Claude Code to authenticate via OIDC identity tokens exchanged for access tokens, designed for enterprise CI/CD pipelines and service accounts.

Usage
# Via environment variables
export ANTHROPIC_FEDERATION_RULE_ID="your-rule-id"
export ANTHROPIC_ORGANIZATION_ID="your-org-id"
export ANTHROPIC_IDENTITY_TOKEN_FILE="/path/to/token"
claude

# Via profile config file (~/.config/anthropic/configs/<profile>.json)
{
  "organization_id": "org-id",
  "authentication": {
    "type": "oidc_federation",
    "federation_rule_id": "rule-id",
    "identity_token": { "source": "file", "path": "/path/to/token" }
  }
}
Details
  • Supports two authentication types: oidc_federation (token exchange) and user_oauth (file-based OAuth with refresh tokens)
  • Profile-based configuration via ANTHROPIC_CONFIG_DIR and ANTHROPIC_PROFILE environment variables
  • Credential file caching with automatic refresh and file permission safety checks (rejects world-readable/writable credentials)
  • WIF status appears in /status output showing connection method (env-quad or credentials-file)
  • Token manager with background refresh, expiration detection, and circuit-breaking on repeated failures
  • Also supports ANTHROPIC_SERVICE_ACCOUNT_ID and ANTHROPIC_SCOPE for advanced configurations
Evidence

OIDC provider (search for "oidc_federation") — oZq() at line ~109279, sZq() at line ~109337, env vars at line ~42691

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