Claude Code error
Claude Code: Invalid API key · Fix external API key
Invalid API key · Fix external API keyStatus: WorkaroundLast verified 4 documented fixes2 sources
What it means
The ANTHROPIC_API_KEY environment variable or apiKeyHelper script returned a key the API rejected, or Claude Code blocked the key before sending it because it contains a character HTTP headers cannot carry (for example a line break).
Causes
- A typo or revoked key
- A stale key loaded from a .env file by direnv, dotenv shell plugins, or IDE terminals
- A key pasted with an invisible character or stray line break
- An apiKeyHelper script that does not print a valid key on stdout
How to fix it
- Fix 1.
Check for typos and confirm the key has not been revoked in the Console.
- Fix 2.
Inspect what is set in the same shell (PowerShell: Get-ChildItem Env:ANTHROPIC*).
Snippetenv | grep ANTHROPIC - Fix 3.
Unset ANTHROPIC_API_KEY and run /login to use subscription auth instead.
Terminalunset ANTHROPIC_API_KEY - Fix 4.
If the key comes from apiKeyHelper, run the script directly to confirm it prints a valid key on stdout. Run /status to confirm the active credential source.
Slash command/status
More Claude Code errors
All 18 Claude Code errorsAPI Error: 500 Internal server error. This is a server-side issue, usually temporaryStatus: WorkaroundAPI Error: Repeated 529 Overloaded errors. The API is at capacityStatus: WorkaroundAPI Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.5: `tool_use` ids were found without `tool_result` blocks immediately after: toolu_01FRvEykWmCgrgJ22mvBbKhV. Each `tool_use` block must have a corresponding `tool_result` block in the next message."}}Status: OpenUnable to connect to API. Check your internet connectionStatus: WorkaroundUnable to connect to API: SSL certificate verification failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY).Status: WorkaroundPlease run /login · API Error: 401 OAuth token has expiredStatus: WorkaroundOAuth error: timeout of 15000ms exceededStatus: OpenPrompt is too longStatus: Workaround
Related reading
- Claude Code Idle Compaction: What It Does and How to Turn It OffClaude Code 2.1.299 compacts sessions over 200K tokens after about 54 idle minutes. How the cache math works, the setting to turn it off, and when to keep it.
- Claude Code Desktop SneakPeek Flaw: Fixed Version and What To DoSneakPeek (CVSS 8.7) let a poisoned HTML file read SSH keys and cloud credentials via the Claude Code Desktop preview pane. Fixed in Claude Desktop 1.30096.1.
- Reverse Engineer Anything (REA): What the MCP Server Does and Where the Line IsREA (Reverse Engineer Anything) is an MIT-licensed MCP server that lets Claude Code, Codex or Cursor inspect binaries, Electron apps and APKs. How to try it.
- Claude Code Projects: Coordinator, Threads, and LimitsClaude Code Projects is open to waitlisted Pro and Max users. How the coordinator and cloud threads work, what they cost in plan limits and where it breaks.
- Agent Harness Lessons From a 500B-Token Decompile: Give Agents a PASS/FAIL OracleAgent harness lessons from a 500B+ token decompile: a byte-matching PASS/FAIL oracle beat the reviewer agent. How agents cheated it and what to copy.
- Claude for Startups Offer Paused: What Founders Do NowClaude for Startups paused its free Claude Team year and $1,000 API credit offer at capacity. What the program page says now and how to cover the gap.
FAQ
What does "Invalid API key · Fix external API key" mean in Claude Code?
The ANTHROPIC_API_KEY environment variable or apiKeyHelper script returned a key the API rejected, or Claude Code blocked the key before sending it because it contains a character HTTP headers cannot carry (for example a line break).
How do I fix "Invalid API key · Fix external API key"?
There are 4 documented fixes. Start with the first: Check for typos and confirm the key has not been revoked in the Console.
Is this Claude Code error fixed?
Status: Workaround. No release removes the cause. The documented fixes work around it.
Sources
Last verified against 2 sources: official docs, maintainer replies and release notes.
Newsletter
Fixes for the tools you use, weekly
One email per week. New coding agent releases, what broke, and how developers are working around it.