[BUG] VS Code extension still ignores model: frontmatter in slash commands on v2.1.288 (TUI fixed in 2.1.280, #81318)
Summary
The model: frontmatter override in custom slash commands (~/.claude/commands/*.md) is still silently ignored in the VS Code extension as of v2.1.288, even though #81318 was closed as fixed in v2.1.280 (that confirmation was for the terminal TUI path only).
The turn runs on the session model with no warning. Same command files work correctly in claude -p (print mode).
Environment
- Claude Code VS Code extension: 2.1.288 (darwin-arm64)
- macOS 26.3.1
- Session model (settings.json):
opus[1m]
Repro
~/.claude/commands/pin-test.md:
````
---
model: haiku
---
reply with exactly: ok
- In the VS Code extension panel, with the session model set to Opus, type
/pin-test. - Inspect the session transcript (
~/.claude/projects/<project>/<session>.jsonl),message.modelon the assistant records.
Expected: claude-haiku-4-5-20251001
Actual: session model (claude-opus-5-5)
Measured history (from transcripts, entrypoint: claude-vscode, message.model of the first assistant reply after the command)
| Extension version | Result |
|---|---|
| 2.1.238 – 2.1.251 | pin honored 6/6 |
| 2.1.263 – 2.1.278 | ignored 17/17 |
| 2.1.288 | still ignored (e.g. model: haiku command → claude-opus-5-5) |
| CLI claude -p "/cmd" (same versions) | honored |
Both alias (haiku) and full model id in frontmatter behave the same.
Impact
Pinning routine/clerical commands to Haiku is the main way to avoid running cheap tasks on Opus. With the pin broken in the IDE, the only workaround is manually switching the session model before and after each command, which in practice rarely happens.
Related: #81318 (closed, TUI fix in 2.1.280).