diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs index cb7d67b89..d708d436a 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/claude_code_cli.rs @@ -458,7 +458,14 @@ fn configure_claude_code_environment( && std::env::var_os("ANTHROPIC_API_KEY").is_none() && std::env::var_os("ANTHROPIC_AUTH_TOKEN").is_none() { - command.env("ANTHROPIC_AUTH_TOKEN", llm.api_key.trim()); + if llm.custom_enabled { + // 自定义 Claude 兼容端点用 Anthropic 规范的 `x-api-key`:Claude Code 只在 + // `ANTHROPIC_API_KEY` 下发这个头(`ANTHROPIC_AUTH_TOKEN` 会发 Bearer,实测 + // Router 的 `/v1/messages` 对 Bearer 会挂住不返回)。 + command.env("ANTHROPIC_API_KEY", llm.api_key.trim()); + } else { + command.env("ANTHROPIC_AUTH_TOKEN", llm.api_key.trim()); + } } // Official AGC model entries use the account session rather than a // user-supplied API key. The Claude SDK only reads Anthropic auth