Log in to Claude Code non-interactively by providing an OAuth refresh token via environment variables, enabling automated CI/CD and headless deployments without a browser.
Usage
export CLAUDE_CODE_OAUTH_REFRESH_TOKEN="your-refresh-token"
export CLAUDE_CODE_OAUTH_SCOPES="user:inference"
claude /login
Details
CLAUDE_CODE_OAUTH_SCOPES is required when using the refresh token — the CLI exits with a helpful error message if missing
Scopes should be space-separated (e.g., "user:profile user:inference user:sessions:claude_code user:mcp_servers")