[BUG] VS Code extension: effort slider shows "Extra high" while persisted `ultracode: true` is active — slider never reflects ultracode at session start

Resolved 💬 0 comments Opened Jun 16, 2026 by Snogglespike Closed Jun 17, 2026

Summary

In the VS Code extension, the effort slider/label shows "Extra high" at the start of every new session even when ultracode is active for that session. The slider never reflects the ultracode flag at startup — it only flips to the "Ultracode - xhigh + workflows" label after the user manually clicks the notch in that session. Because the label is a user's only obvious signal, this reads as "my ultracode config didn't take effect," when in fact it did.

This is the VS Code-extension analogue of the desktop-app defect in #66083 (point 2). Filing separately because the surface (area:vscode), the webview code path, and the repro differ, and because the extension does not share the other two desktop-only sub-bugs in #66083 (/effort works here; this is purely the label).

Environment

  • Linux (Ubuntu, kernel 6.8)
  • VS Code 1.124.2
  • Extension anthropic.claude-code 2.1.178 (also reproduces on 2.1.177)
  • Model claude-opus-4-8[1m], Max plan
  • ~/.claude/settings.json contains both:

``json
"effortLevel": "xhigh",
"ultracode": true
``

Ultracode IS active — this is cosmetic, not a no-op

Worth stating up front, because it both scopes this bug and is a counter-data-point to #64817 (which reports settings.json ultracode being ignored):

  • The session is spawned with --setting-sources=user,project,local, so the core reads ~/.claude/settings.json directly.
  • A fresh interactive session (kind: "interactive", not resumed) receives the standing ultracode system-reminder at startup ("Ultracode is on…"), and the Workflow tool is armed by default.
  • The only ultracode config anywhere on the machine is that one settings key — no ~/.claude.json value, no VS Code globalStorage, and extension.js does not inject it at spawn.

So on extension 2.1.178, persisted "ultracode": true does activate ultracode for every new session. The problem is only that the UI doesn't show it.

The defect

The effort slider/label at session start is driven solely by effortLevel (→ xhigh → "Extra high"). The ultracode flag is never read back into the slider's selected state, so:

  • New session → slider reads "Extra high", regardless of ultracode being active.
  • The "Ultracode - xhigh + workflows" label only appears after the user clicks the Ultracode notch in that session (which merely re-applies a flag that is already on).

Root cause (from the bundled webview/index.js, 2.1.178)

The config-load handler initializes the slider from effortLevel only and never consults the ultracode flag:

let n = this.connection.value?.config.value,
    o = n?.claudeSettings?.applied,
    r = o !== void 0 ? o.effort ?? void 0 : n?.settings?.effortLevel;
if (r && !this.effortLevel.value) this.effortLevel.value = r;   // sets effortLevel; ultracode flag ignored

ultracodeEnabled is initialized to false every session and is only ever set true by the interactive enableUltracode() path. The label is computed as ultracodeSelected ? "Ultracode - xhigh + workflows" : effortLabel(effortLevel), so with ultracodeEnabled === false at startup it always falls through to the effort label.

There is no settings key or VS Code setting that changes this — it's hardcoded in the webview.

Expected behavior

At session start, if the applied/effective session settings have ultracode active, the slider should initialize to the "Ultracode" notch (i.e. read the ultracode flag back into ultracodeEnabled, analogous to how it reads effort into effortLevel). At minimum, the label should reflect the active ultracode flag rather than showing "Extra high" while ultracode is running.

Impact

A user who sets "ultracode": true globally and then sees "Extra high" on every new session reasonably concludes the config was ignored, and either re-toggles it each session (no-op) or files it as broken. The slider/label is currently not a reliable indicator of whether ultracode is on, and there is no slider-side way to confirm it (the corner effort indicator shows "xhigh", not "ultracode").

Workaround / confirmation

Ultracode is genuinely active — to confirm in a fresh session, ask the agent directly ("are you in ultracode mode?"); it reads its own session-start context. Ignore the slider label.

Related

  • #66083 — same label-vs-active defect, but on the macOS Desktop app (bundles two additional desktop-only sub-bugs).
  • #66266 — desktop: ultracode selection reverts to "extra" when switching chats.
  • #64817 — reports settings.json ultracode being ignored; not reproduced on extension 2.1.178 (ultracode activates and injects the startup reminder here), so that may be fixed or surface-specific.

View original on GitHub ↗