Scheduled Tasks always launch on Opus 5, ignoring model picker and settings.json
Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 11, 2026
Summary
Scheduled Tasks in the Claude desktop app (Code tab) always launch on Opus 5, regardless of the app's model picker or ~/.claude/settings.json (model and env.ANTHROPIC_MODEL). There is no per-task model field in the scheduled-task create/update flow.
Evidence
- 67 scheduled-task sessions across 2026-09-08 to 2026-09-11 were checked by counting the
modelfield on every assistant turn in their transcript files (~/.claude/projects/<project>/*.jsonl). - 63 of 67 ran 100% on
claude-opus-5from first turn to last, even though~/.claude/settings.jsonhas specified"model": "claude-sonnet-5"andenv.ANTHROPIC_MODEL: "claude-sonnet-5"since 2026-09-05. - The terminal CLI honors the same settings file correctly:
claude -p --output-format json "ok"reportsmodelUsage: ["claude-sonnet-5"]. - Switching the app's model picker (Code tab, "landing" default) from Opus 5 to Sonnet 5 only affected turns of scheduled-task sessions that happened to already be in flight at that exact moment — 4 sessions show a mid-session split between
claude-opus-5andclaude-sonnet-5turns, timed to when the picker was toggled. Every scheduled task launched afterward (new session start) still started onclaude-opus-5, unchanged.
Expected behavior
Scheduled tasks should either (a) inherit the app's current default model / settings.json at launch time, or (b) expose a model field on create_scheduled_task / update_scheduled_task so each routine can pin its own model.
Impact
Cost: routines that don't need Opus-level reasoning (daily digests, log syncs, simple checks) are billed at Opus rates with no way to opt down, for every recurring run.