[FEATURE] Routine edit/create form: expose effort level, not just model
Problem Statement:
When creating or editing a Routine (scheduled task), the form lets me pick the model but has no control for reasoning effort level. In interactive sessions I can set both via /effort and the model picker, but a Routine is stuck at whatever the default effort level is with no way to raise or lower it for that specific scheduled run.
Proposed Solution:
Add an effort level selector next to the existing model selector in the Routine create/edit form (same options as /effort: low/medium/high/xhigh, matching whatever the selected model supports), stored per-task alongside model and applied when the routine fires.
Alternative Solutions:
None — there's no way to influence a routine's effort level from the UI today. In principle a routine's own prompt could try to invoke /effort, but slash commands aren't guaranteed to apply the same way in an unattended run and this shouldn't require a prompt-level workaround for a per-task config that already exists for model.
Priority: Medium - Would be very helpful
Feature Category: Configuration and settings
Use Case Example:
- I have a routine that does a deep multi-step analysis (e.g. a weekly ads/log audit) where I'd want higher effort for better reasoning.
- I have another lightweight routine (a quick daily check) where low effort would save tokens.
- Today both run at whatever the default effort is, since the edit form only exposes the model, not effort — I can't tune per-routine cost/quality like I can in an interactive session.
Additional Context:
Related to the general effort-level configurability gaps discussed in #96381 and #95347, but this is specifically about the Routine create/edit form's missing control, not the underlying settings-persistence mechanism.
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
+1, same need: a PR-review routine on Opus 5.5 where
loweffort is enough.The routines API doesn't take it either.
POST /v1/code/triggers/{id}withjob_config.ccr.session_context.effort: "low"returns 200, but the field is silently dropped: it isn't in the storedsession_contextorsession_request.config.My current workaround is
CLAUDE_CODE_EFFORT_LEVEL=lowin the routine's cloud environment variables. It's shared by every routine on that environment, and I haven't found a way to confirm from the run log that it took effect. A per-routine selector next to the model picker (and a matching API field) would fix both.Same problem
Thank you to the Claude Code team for routines. They already run a lot of my daily work unattended, which is why this gap stands out.
+1 on the Edit form, with a different use case from the two above. Mine is the high end. I run a daily morning check-in routine that triages the state of ~90 other scheduled tasks, decides what needs a human, and fixes what it safely can. That is judgment-heavy work, and I want it at
xhigh. My cheap routines should stay atlow. Today the form gives me a model picker and nothing else, so the expensive-judgment routine and the trivial ones get the same effort.Three things this thread doesn't have yet:
create_scheduled_task/update_scheduled_tasktools take noeffort(ormodel) field, so an assistant that builds a routine for me can't set it either. That half is tracked in #81253.Environment: macOS desktop app, scheduled routines.