Status line: no way to distinguish ultracode from xhigh (no `ultracode` field in stdin JSON)

Open 💬 1 comment Opened Jun 17, 2026 by mrbigbunbury

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, or max). [...] Ultracode is not a distinct level and reports as xhigh.

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)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗