[Bug] Statusline effort.level reports "xhigh" instead of "ultra" for ultracode mode
Bug Description
Statusline effort.level reports xhigh for ultracode — docs say it should be ultra
Version: Claude Code v2.1.156 (macOS, Opus 4.8)
Summary: The statusline docs state effort.level can be ultra and that "the ultra value corresponds to ultracode in /effort." In practice, when ultracode is active, the JSON piped to the statusLine command reports effort.level: "xhigh" — never ultra. No field anywhere in the stdin payload distinguishes ultracode from plain xhigh, so a custom statusline cannot surface ultracode state.
Repro:
1. /effort → ultracode (UI shows "xhigh effort + dynamic workflows").
2. Log the JSON stdin your statusLine command receives.
3. effort.level == "xhigh" (docs say it should be "ultra").
Expected vs actual: Per https://code.claude.com/docs/en/statusline, effort.level should be "ultra" for ultracode. Actual: "xhigh". The full 15-key stdin payload (effort, thinking, fast_mode, output_style, …) contains no ultracode/orchestration indicator.
Related: The "Ultracode is on/off" system-reminder is injected into the model context at runtime but is never persisted to the session transcript .jsonl — so there's no fallback signal to detect ultracode from the transcript either.
Request: Either emit effort.level: "ultra" for ultracode (to match the docs), or add a dedicated field (e.g. effort.ultracode: true). Today, custom statuslines literally cannot show ultracode — it's indistinguishable from xhigh.
Environment Info
- Platform: darwin
- Terminal: Apple_Terminal
- Version: 2.1.156
- Feedback ID: 82475700-dd1f-4474-a5f3-3de619d12a46
Errors
[]This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗