claudeCode.useTerminal setting has no effect in v2.1.83 — setting is defined but never read
Summary
The claudeCode.useTerminal setting is documented and present in the extension's package.json with a default of false, but setting it to true has no effect — the extension always opens the graphical webview panel regardless of the setting value.
Environment
- Claude Code extension version:
2.1.83 - Editor: Cursor (darwin-arm64)
- OS: macOS
Steps to Reproduce
- Set
"claudeCode.useTerminal": truein VS Code/Cursor user settings - Reload the window
- Open Claude Code
Expected: Claude Code opens in terminal/CLI mode inside the integrated terminal
Actual: Claude Code opens in the graphical webview panel, same as when the setting is false
Root Cause (from source inspection)
In extension.js, the string useTerminal only appears in two places:
- A legacy settings migration block that copies values from the old
claude-codenamespace toclaudeCode— it never acts on the value - A banner's "configure" button that opens the settings UI to
claudeCode.useTerminal
The setting is never read to make a terminal-vs-webview decision. There is no code path equivalent to if (config.get("useTerminal")) { createTerminal() } else { createWebviewPanel() }.
Workaround
Run claude directly in the integrated terminal to get CLI mode.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗