[Bug] Statusline effort.level reports "xhigh" instead of "ultra" for ultracode mode

Resolved 💬 1 comment Opened May 29, 2026 by KCW89 Closed May 29, 2026

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

[]

View original on GitHub ↗

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