[BUG] VS Code 'Launch in Terminal' ignores bundled binary, hardcodes 'claude' command

Resolved 💬 4 comments Opened Dec 18, 2025 by ericsampson Closed Feb 28, 2026

Description

The "Launch in Terminal" feature in the VS Code extension does not use the bundled binary path. Instead, it hardcodes the command claude, expecting it to be in the user's PATH. This fails for users who don't have claude installed globally, even though the extension ships with its own binary at resources/native-binary/claude.

Analysis

Examining the minified extension code reveals two different code paths:

  1. Sidebar/Webview mode: Correctly uses EQ(context) function to resolve the bundled binary path at resources/native-binary/claude, then spawns it as a subprocess.
  1. "Launch in Terminal" mode (_te function): Ignores the bundled binary entirely:

```javascript
// Creates terminal without specifying a binary path
o = wt.window.createTerminal({name:..., iconPath:..., location:...})

// Then just runs "claude" expecting it to be in PATH
l.shellIntegration.executeCommand(["claude", ...args])

// Or fallback after 3 seconds:
o.sendText("claude")
```

The EQ() function that resolves the bundled path is never called by the terminal launch code.

Steps to Reproduce

  1. Install the Claude Code VS Code extension
  2. Ensure claude is NOT in your system PATH
  3. Use the "Launch in Terminal" command/button
  4. Terminal opens but fails to find claude command

Expected Behavior

The extension should use the bundled binary path (from EQ(context)) when launching in terminal mode, just like it does for sidebar/webview mode.

Actual Behavior

The extension runs bare claude command, which fails if the CLI isn't separately installed in PATH.

Suggested Fix

// Instead of:
l.shellIntegration.executeCommand(["claude", ...args])
o.sendText("claude")

// Should be:
const binaryPath = EQ(context)
l.shellIntegration.executeCommand([binaryPath, ...args])
o.sendText(binaryPath)

Environment

  • OS: Linux (also likely affects macOS/Windows)
  • Extension: Claude Code VS Code extension
  • Component: Terminal launch functionality

Additional Context

Both code paths (webview subprocess and terminal) should use the same binary resolution logic for consistency. The bundled binary exists specifically so users don't need a separate global installation.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗