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

  1. 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 show Opus 4.8 xhigh, also correctly).
  2. Open the Claude desktop app on Windows and open that same Code session (or any other).
  3. 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 high in 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 /effort indicates 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.

View original on GitHub ↗

3 Comments

ts7fx · 1 month ago

<img width="1844" height="1382" alt="Image" src="https://github.com/user-attachments/assets/65a7adb3-a99e-4169-8bf5-7f72e09816aa" />

ts7fx · 1 month ago

Update: reproduced on the macOS desktop app as well — viewing the same session (actual effort high, set via /effort high and 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.

Spongeyhead · 1 month ago

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.

  • In a CLI session I ran /effort and selected ultracode. The CLI confirmed: "Set effort level to ultracode (this session only): xhigh + dynamic workflow orchestration".
  • Opening that same session in the macOS desktop app, the status pill reads "Fable 5 / Extra".
  • The pill never updates. It stays on "Extra" across subsequent turns while the session is actively running ultracode dynamic-workflow orchestration.
  • The model name in the same pill is correct ("Fable 5") — matching the model-syncs-but-effort-does-not pattern reported here.
  • Difference from the original report: my pill renders "Extra", not "Medium". Same shape (the pill does not reflect the session's real effort state), different rendered value.
  • Environment: macOS Darwin 25.5.0, desktop app 1.24012.9, CLI 2.1.220, model Fable 5. Session is hosted on the same machine as the desktop app, not cross-device.

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.