fix: prevent ANTHROPIC_API_KEY from interfering with Gemini provider auth
Two fixes for issue #133 where setting ANTHROPIC_API_KEY=dummy alongside CLAUDE_CODE_USE_GEMINI=1 causes "Invalid API key" errors: 1. auth.ts: In the CI branch of getAnthropicApiKeyWithSource(), the ANTHROPIC_API_KEY value was returned without checking isUsing3PServices(). A dummy key leaked into the Anthropic key resolution pipeline even when Gemini was the active provider. Now guards with isUsing3PServices(). 2. errors.ts: The x-api-key error handler surfaced "Invalid API key" for any provider. Added getAPIProvider() === 'firstParty' guard so 3P users see the real underlying error instead of a misleading auth message. Note: The cli.tsx Gemini validation fix (originally part of this PR) was independently implemented in PR #121 and is already on main.
This commit is contained in:
@@ -286,7 +286,7 @@ export function getAnthropicApiKeyWithSource(
|
||||
)
|
||||
}
|
||||
|
||||
if (apiKeyEnv) {
|
||||
if (apiKeyEnv && !isUsing3PServices()) {
|
||||
return {
|
||||
key: apiKeyEnv,
|
||||
source: 'ANTHROPIC_API_KEY',
|
||||
@@ -294,6 +294,7 @@ export function getAnthropicApiKeyWithSource(
|
||||
}
|
||||
|
||||
// OAuth token is present but this function returns API keys only
|
||||
// Also reached when 3P provider is active — ANTHROPIC_API_KEY is ignored
|
||||
return {
|
||||
key: null,
|
||||
source: 'none',
|
||||
|
||||
Reference in New Issue
Block a user