diff --git a/claude/uclaude_updater.py b/claude/uclaude_updater.py index 7ade2ab..5acf7f4 100644 --- a/claude/uclaude_updater.py +++ b/claude/uclaude_updater.py @@ -327,10 +327,14 @@ def find_all_cli_js(): r = subprocess.run(["which", "claude"], capture_output=True, text=True, timeout=5) if r.returncode == 0: claude_bin = os.path.realpath(r.stdout.strip()) - # claude binary is at node_modules/.bin/claude - # cli.js is in node_modules/@anthropic-ai/claude-code/cli.js - nm = os.path.dirname(os.path.dirname(claude_bin)) # node_modules/ - candidates.add(os.path.join(nm, "@anthropic-ai", "claude-code", "cli.js")) + if os.path.basename(claude_bin) == "cli.js": + # which claude resolves directly to cli.js + candidates.add(claude_bin) + else: + # which claude points to .bin/claude wrapper + # cli.js is at node_modules/@anthropic-ai/claude-code/cli.js + nm = os.path.dirname(os.path.dirname(claude_bin)) # node_modules/ + candidates.add(os.path.join(nm, "@anthropic-ai", "claude-code", "cli.js")) except Exception: pass