From 935f8b56dae36607752ef3b06a3c50ce9162a599 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 4 May 2026 21:53:39 +0800 Subject: [PATCH] fix: wrap PowerShell launch in try/finally for env cleanup The regular launch mode set env vars and cleaned them up after `claude` exits, but if the user presses Ctrl+C or the process crashes, cleanup is skipped and the env vars (including the API key in ANTHROPIC_AUTH_TOKEN) leak into the parent shell session. Wrap in try/finally to match the pattern already used by the remote mode. Co-Authored-By: Claude Opus 4.7 --- deepclaude.ps1 | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/deepclaude.ps1 b/deepclaude.ps1 index 26c35a6..9a9901a 100644 --- a/deepclaude.ps1 +++ b/deepclaude.ps1 @@ -247,10 +247,12 @@ $env:CLAUDE_CODE_SUBAGENT_MODEL = $p.subagent $env:CLAUDE_CODE_EFFORT_LEVEL = "max" Remove-Item Env:ANTHROPIC_API_KEY -ErrorAction SilentlyContinue -& claude @Args - -foreach ($v in @("ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN","ANTHROPIC_MODEL", - "ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL", - "ANTHROPIC_DEFAULT_HAIKU_MODEL","CLAUDE_CODE_SUBAGENT_MODEL","CLAUDE_CODE_EFFORT_LEVEL")) { - Remove-Item "Env:$v" -ErrorAction SilentlyContinue +try { + & claude @Args +} finally { + foreach ($v in @("ANTHROPIC_BASE_URL","ANTHROPIC_AUTH_TOKEN","ANTHROPIC_MODEL", + "ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL", + "ANTHROPIC_DEFAULT_HAIKU_MODEL","CLAUDE_CODE_SUBAGENT_MODEL","CLAUDE_CODE_EFFORT_LEVEL")) { + Remove-Item "Env:$v" -ErrorAction SilentlyContinue + } }