Status line: no way to distinguish ultracode from xhigh (no `ultracode` field in stdin JSON)
What I'm trying to do
Surface the active ultracode mode in a custom status line.
Problem
The status line stdin JSON exposes reasoning effort via effort.level, but ultracode is deliberately collapsed into xhigh and there is no separate signal. From the docs (https://code.claude.com/docs/en/statusline):
effort.level— Current reasoning effort (low,medium,high,xhigh, ormax). [...] Ultracode is not a distinct level and reports asxhigh.
The full status line JSON schema contains no ultracode field (neither top-level nor nested), and per https://code.claude.com/docs/en/model-config ultracode is a session-only setting that is not written to settings.json. Consequently a status line script has no data source from which it could tell whether the current session is in plain xhigh or in ultracode — they are indistinguishable.
Request
Expose an explicit ultracode indicator in the status line stdin JSON, e.g. a top-level boolean "ultracode": true or a nested effort.ultracode: true, so custom status lines can render it (the same way effort.level is already surfaced).
Why it matters
ultracode changes orchestration behaviour (dynamic multi-agent workflows) and token usage substantially, so being able to see at a glance that a session is in ultracode — not just xhigh — is useful for cost/behaviour awareness.
Environment
- Claude Code version: 2.1.169 (Claude Code)
- Platform: macOS (darwin)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗