No visible notice when auto mode ignores a skill's `model:` override
Summary
In auto mode, a skill or command whose model: names a model that auto mode doesn't support (for example model: haiku on the Anthropic API) runs on the session model, and nothing tells the user. The fallback itself is intended: it dates from 2.1.259 and the skills frontmatter reference describes it. This asks only for it to be visible. Today the only trace is a debug-log line, so a skill author who picked a model for cost or speed can't tell it was ignored without checking modelUsage by hand.
Environment
- Claude Code 2.1.283, macOS
- Anthropic API, signed in with a Claude account; session model Claude Opus 5.5
- Seen in print mode (
-p) and in an interactive session
Steps to reproduce
- In a scratch project, add
.claude/commands/probe.md:
```markdown
---
description: Replies with a marker
model: haiku
---
Reply with exactly PROBE-OK and nothing else.
```
- Run it in manual mode, then in auto mode:
``bash``
claude -p "/probe" --output-format json --permission-mode manual
claude -p "/probe" --output-format json --permission-mode auto --debug-file auto.log
- Compare the
modelUsagekeys in the two results, and searchauto.logfornot supported in auto mode.
Expected
The auto-mode run says, in its output or the session transcript, that the command's model wasn't used and the session model ran instead.
Actual
- Manual mode:
modelUsageshowsclaude-haiku-4-5-20251001. - Auto mode, print:
modelUsageshows only the session model, and neither the output nor the transcript mentions the switch. - Auto mode, interactive: the same fallback, and nothing on screen says so. The footer shows only
auto mode on. - The same happens when the model invokes a skill with
model: haikuthrough the Skill tool. - In each auto-mode case the debug log has:
````
Skill/command model "claude-haiku-4-5-20251001" is not supported in auto mode; keeping the session model
Suggestions
- Show that line as a visible notice. There's a precedent: 2.1.223 added a warning when a forked skill's or slash command's requested subagent model is restricted and the parent model runs instead.
- Consider flagging it once when skills load, since on the Anthropic API a skill with
model: haikucan never run on Haiku in auto mode. The notice could point tocontext: forkwithbackground: false, which does run the skill on its declared model in auto mode, as the frontmatter reference says.
Related
#85658 and #84262 report skill model: being ignored in other circumstances, not auto mode.