Desktop app (Windows & macOS) shows "Medium" effort for all Code sessions; model name syncs but effort field does not
Status Open
Reported on v2.1.216
Maintainer reply None cached
Activity 3 comments · opened Jul 21, 2026
Summary
The Windows desktop app's status pill in a Code session shows "Medium" effort for every session, even when the session's actual effort level is different. The model name syncs correctly, the effort field does not — it appears to fall back to a default "medium" for remote sessions.
Environment
- Viewer: Claude desktop app on Windows, remotely viewing/driving Code sessions
- Session host: Claude Code CLI 2.1.216 running on macOS (darwin)
- Cross-device setup: sessions run on the Mac; the user types from the Windows desktop app
Steps to reproduce
- On macOS, run a Claude Code session and set a non-default effort:
/effort high→ CLI confirms "Set effort level to high (saved as your default for new sessions)". CLI status line correctly shows e.g.Fable 5 high(other sessions on the same machine showOpus 4.8 xhigh, also correctly). - Open the Claude desktop app on Windows and open that same Code session (or any other).
- Look at the status pill at the bottom-right of the conversation.
Expected
Pill shows the session's actual effort (e.g. "Fable 5 (High)").
Actual
Pill shows "Fable 5 (Medium)". Every chat opened in the desktop app shows "(Medium)", regardless of the session's real effort.
Evidence that this is display-layer only
- The effort was set via
/effort highin this exact session and confirmed by the CLI. - The CLI status lines on the host machine display the correct per-session efforts (high / xhigh) at the same moment the desktop app shows "Medium" for all of them.
- The model name in the same pill is correct ("Fable 5"), only the effort part is wrong — suggesting the desktop client receives/syncs the model field but not the effort field for remote sessions, and falls back to the default "medium" when rendering.
- The "every chat shows medium" pattern also points to a fallback-to-default rather than a per-session misread.
(Screenshot available; the reporter can attach it in a follow-up comment.)
Related (same family, different shape)
- #46077 —
effortLevel: "max"in settings.json ignored at startup, status bar shows medium - #30726 — settings effortLevel "max" silently downgraded
- #53217 — status bar shows "max effort" while
/effortindicates xhigh
Those are CLI-side inconsistencies; this report is specifically the Windows desktop app rendering "Medium" for all (remote) sessions while the CLI shows the correct values.
3 Comments
<img width="1844" height="1382" alt="Image" src="https://github.com/user-attachments/assets/65a7adb3-a99e-4169-8bf5-7f72e09816aa" />
Update: reproduced on the macOS desktop app as well — viewing the same session (actual effort high, set via
/effort highand confirmed in the CLI status line), the macOS desktop app status pill also shows "Fable 5 (Medium)".So this is not Windows-specific: both desktop clients render "(Medium)" for sessions whose real effort differs, while the model name renders correctly. Title updated accordingly. This strengthens the hypothesis that the desktop client does not receive/sync the effort field for CLI sessions (remote-control viewing) and falls back to the default "medium" when rendering.
Reproduced on the macOS desktop app 1.24012.9 with Claude Code CLI 2.1.220 (both current as of 2026-07-27), with a different fallback value than the one in the title.
/effortand selected ultracode. The CLI confirmed: "Set effort level to ultracode (this session only): xhigh + dynamic workflow orchestration".Possibly the same root cause as #73828 (Linux beta desktop never showing the correct effort/permission mode for CLI-spawned sessions), which is the same symptom on a third platform.