Let Ultracode / a default "run level" be set persistently (symmetric to disableWorkflows)
Summary
Ultracode (workflow-by-default multi-agent orchestration) is currently session-only — it resets every new session and must be re-asserted via the keyword or /effort ultracode. For users/projects where multi-agent orchestration is the intended default for substantive work, re-asserting it every session is repetitive and easy to forget, and there's no way to make "this is my default run level" a property of the project or user.
Notably, the opposite is already persistable: disableWorkflows: true (and CLAUDE_CODE_DISABLE_WORKFLOWS=1) let me turn workflows off permanently. There's just no symmetric switch to make ultracode the default.
Request
A persistent setting for the default run level — e.g. defaultEffort: "ultracode" in settings.json (project- and user-scoped, following the usual project-overrides-user precedence), and/or a matching environment variable. It should still allow a per-session opt-out (e.g. /effort high) for a cheaper solo run when I want one.
Why
The intended run level belongs to the project/user config, not to something a human has to remember to type each session — especially since the persistent disable path (disableWorkflows / CLAUDE_CODE_DISABLE_WORKFLOWS) already exists. Adding the symmetric "default on" closes that gap.
3 Comments
+1 — the symmetry argument nails it. I already persist
effortLevel: xhighand it sticks fine, so the config path clearly works; ultracode is just the one tier it won't reach. AdefaultEffort: "ultracode"mirroringdisableWorkflows, with a per-session/effort highopt-out, would close the gap exactly. Keep it off by default globally — just let those of us who want it persist it.Partly possible today: you can start every session with ultracode on by launching with
claude --effort ultracode(v2.1.203+), and a shell alias makes that the default for you./effort highstill drops back for a cheaper run within the session. Docs: https://code.claude.com/docs/en/workflows#let-claude-decide-with-ultracodeThere isn't yet a
settings.jsonkey that persists ultracode as the project/user default (theeffortLevelsetting only acceptslow–xhigh), so leaving this open for that.🤖 Generated with Claude Code
Still relevant, and the asymmetry is the part worth keeping in view:
disableWorkflows: truealready persists as settings, so the product can express "never do this" as durable configuration but not "do this by default". Only one direction of the same preference is expressible.Related, from the other side: #84163 reports
/modelclearing Ultracode inside a live session. A persistent default would not fix that bug, but it would stop each occurrence from costing the rest of the session.