Skip to content

VS Code extension ignores project-level model setting #33865

Description

@poodle64

Feature Request

The VS Code extension should respect per-project model selection, the same way the CLI does.

Current Behaviour

The claude CLI correctly reads the model from project-level .claude/settings.json:

{
  "model": "haiku"
}

Opening claude in a terminal in that project directory uses haiku. Other projects use the global default from ~/.claude/settings.json.

The VS Code extension ignores this entirely. It only reads claudeCode.defaultModel from the global VS Code settings.json. There is no per-project model override.

What Was Tested

All of these were tested and none change the model for the extension:

  1. .claude/settings.json in the project root with "model": "haiku" — extension ignores it
  2. .vscode/settings.json in the project root with "claudeCode.defaultModel": "haiku" — extension ignores workspace-level settings
  3. /model command in the sidebar — works, but writes to the global VS Code settings.json, affecting all open workspaces

Expected Behaviour

The extension should follow the same hierarchy as the CLI:

.claude/settings.json        (project — highest priority)
~/.claude/settings.json      (user global — fallback)
claudeCode.defaultModel      (VS Code setting — lowest priority fallback)

Or at minimum, respect VS Code's standard workspace settings mechanism (.vscode/settings.json overrides user settings).

Why This Matters

Users working across multiple projects need different models for different contexts — e.g. Opus for complex repos, Haiku for quick tasks. This works perfectly in the CLI but is impossible in the extension without manually running /model every time you switch windows (and that change is global, affecting other windows).

Environment

  • Claude Code 2.1.70 (VSCodium extension on macOS)
  • Also affects VS Code (same extension)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions