From c4690307ce641d37488c95914ac2513af7d5234b Mon Sep 17 00:00:00 2001 From: decolua Date: Sat, 26 Sep 2026 17:30:59 +0700 Subject: [PATCH] fix(cli-tools): keep existing ANTHROPIC_AUTH_TOKEN when applying Claude settings Only write the token when settings.json has none, so a real API key or earlier config is never clobbered by Apply. Reset still clears it, re-enabling key selection on the next Apply. Co-Authored-By: Claude Code --- src/app/api/cli-tools/claude-settings/route.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/api/cli-tools/claude-settings/route.js b/src/app/api/cli-tools/claude-settings/route.js index c7087577..5c7d7cfb 100644 --- a/src/app/api/cli-tools/claude-settings/route.js +++ b/src/app/api/cli-tools/claude-settings/route.js @@ -151,11 +151,16 @@ export async function POST(request) { // Normalize ANTHROPIC_BASE_URL to ensure /v1 suffix if (env.ANTHROPIC_BASE_URL) { - env.ANTHROPIC_BASE_URL = env.ANTHROPIC_BASE_URL.endsWith("/v1") - ? env.ANTHROPIC_BASE_URL + env.ANTHROPIC_BASE_URL = env.ANTHROPIC_BASE_URL.endsWith("/v1") + ? env.ANTHROPIC_BASE_URL : `${env.ANTHROPIC_BASE_URL}/v1`; } + // Keep an existing token (real key or earlier config); only add when absent — Reset clears it. + if (currentSettings.env?.ANTHROPIC_AUTH_TOKEN) { + delete env.ANTHROPIC_AUTH_TOKEN; + } + // Merge new env with existing settings const newSettings = { ...currentSettings,