Invalid Claude Code API Key Configuration on MacOS Claude Code-credentials vs Claude Code

Resolved 💬 3 comments Opened May 25, 2025 by rxreyn3 Closed Nov 30, 2025

Bug Description
When configuring Claude Desktop on MacOS to use Claude Code, I receive the following login error:\

{"content":[{"type":"text","text":"Invalid API key · Please run /login"}],"totalDurationMs":36,"totalTokens":0,"totalToolUseCount":0,"usage":{"input_tokens":0,"output_tokens":0,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"server_tool_use":{"web_search_requests":0}},"wasInterrupted":false}\]

claude_desktop_config.json contains:

"claude-code": {
      "command": "claude",
      "args": ["mcp", "serve"],
      "env": {
        "HOME": "/Users/ryan"
      }
    }

I have verified that I have a valid token:[REDACTED]

security find-generic-password -a $USER -w -s "Claude Code-credentials"
{"claudeAiOauth":{"accessToken":"sk-ant

Environment Info

  • Platform: macos
  • Terminal: windsurf
  • Version: 1.0.3
  • Feedback ID: a6637031-48b8-41a9-85d7-49e0a2cb94fc

Errors

[{"error":"Error: Command failed: security find-generic-password -a $USER -w -s \"Claude Code\"\nsecurity: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.\n\n    at genericNodeError (node:internal/errors:983:15)\n    at wrappedFn (node:internal/errors:537:14)\n    at checkExecSyncError (node:child_process:882:11)\n    at execSync (node:child_process:954:15)\n    at cG (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:644:3513)\n    at file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:574:15313\n    at Q (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:532:13335)\n    at sR1 (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:574:14562)\n    at aI (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:574:14179)\n    at FU2 (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1965:20997)","timestamp":"2025-05-25T16:06:06.740Z"},{"error":"Error: ENOENT: no such file or directory, open [REDACTED]/backend/backend/tests/explore-data-shape.ts'\n    at Module.openSync (node:fs:562:18)\n    at Object.readSync (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:540:851)\n    at nI (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:543:260)\n    at dG (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:545:358)\n    at file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1751:1396\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5) [REDACTED]/backend/backend/tests/explore-data-shape.ts'\n    at Module.readFileSync (node:fs:442:20)\n    at Object.readFileSync (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:540:728)\n    at dG (file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:545:376)\n    at file:///Users/ryan/.nvm/versions/node/v22.16.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1751:1396\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2025-05-25T16:06:41.704Z"}]

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗