[BUG] Auto mode is not showing up in the VS code extension on windows

Resolved 💬 17 comments Opened Apr 8, 2026 by dina-smokeball Closed Jul 15, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

On the windows and using the vs code extention, the "Auto mode" is not showing up
Claude code version: 2.1.94
vs code extention version: 2.1.94

Things that may help:

  • On mac , same extension version on the same repo is fine. Windows Parllel's vs code has this issue.
  • I downgrade my extetion on windows to 2.1.81 and the "Auto mode" is showing up. I chose the 2.1.81 randomly and didn't test from which version it's exactly broken.

What Should Happen?

The Auto mode should show up.

Error Messages/Logs

Steps to Reproduce

  • In vs code, on windows (installed on mac via parallel), try the Claude code extention
  • get sure Allow bypass permissions mode. Recommended only for sandboxes with no internet access. is ticked
  • "Auto mode" is not showing up

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.94

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

_No response_

View original on GitHub ↗

17 Comments

github-actions[bot] · 3 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/36168
  2. https://github.com/anthropics/claude-code/issues/43845
  3. https://github.com/anthropics/claude-code/issues/39350

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

MichaelLogutov · 2 months ago

Those are not proper duplicates of this issue.

baumerdev · 2 months ago

This bug affects the mode selection below the text input field as well as the "Claude Code: Initial Permission Mode" in VSCode Settings. In both the "Auto" option is missing.

If you add "claudeCode.initialPermissionMode": "auto" to your VSCode's settings.json manually it will show "Auto" briefly but then change back to another mode.

GIO443 · 2 months ago

I am having the same issue, can confirm the duplicates are not correct this is a real issue. I have opus 4.7 + max 5x + dangerous bypass toggled on and it doesnt appear in the VScode options

Stvad · 2 months ago

Doesn't show up for me on mac either v2.1.121

max5800 · 2 months ago

same

Version: 1.117.0 (Universal)
Commit: 10c8e557c8b9f9ed0a87f61f1c9a44bde731c409
Date: 2026-04-21T16:12:14-07:00
Electron: 39.8.7
ElectronBuildId: 13841579
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.4.0

Identifier
anthropic.claude-code
Version
2.1.123
Last Updated
23 seconds ago
Size
214.54MB

guilhermeunit · 2 months ago

Same here. Just vanished.

aponski · 2 months ago

mac os v26.4.1, plugin v2.1.133, max plan and auto mode stopped showing

MichaelLogutov · 2 months ago

It's strange, but on my new laptop it's showing, but on my PC it's not. Both are windows 11 and latest version of vscode and extensions installed and everything is synced (settings and extensions).

MichaelLogutov · 2 months ago

Ok, after some troubles I've got auto mode back. Dunno if it's some kind of update that landed or my actions. Anyway, what I did:

  1. Removed ~/.agents directory (left from other older agents installations)
  2. Removed everything in ~/.claude/settings.json (only that left was { "theme": "auto" })
  3. Reinstalled Claude Code Desktop and VSCode.
  4. Restarted PC
  5. After auto mode appeared I've changed back everything that was in ~/.claude/settings.json. Restarted VSCode and auto mode still there.

The strange thing is that on my new laptop (where auto mode was present in vscode right away) I had another look for model dialog - it's saying that "default" is Opus 4.7 with 1M context window...

<img width="583" height="637" alt="Image" src="https://github.com/user-attachments/assets/86478f6c-be63-4306-bb5d-9ee89146f589" />
<img width="603" height="806" alt="Image" src="https://github.com/user-attachments/assets/b9cb25f3-8259-4579-b3c1-61d3cdcbbc21" />

Which is not what I see on my desktop vscode installation:

<img width="946" height="576" alt="Image" src="https://github.com/user-attachments/assets/822b281f-2ba0-4437-b39d-65294ae06a9d" />

<img width="663" height="764" alt="Image" src="https://github.com/user-attachments/assets/1317bd9c-0ce6-4714-84f6-229219bec7d9" />

Some kind of a/b testing maybe?

Anyway, hope that helps someone. And I still think that this bug should be fixed.

BalassaMarton · 2 months ago

The issue is still present in version 2.1.143 of the extension on Windows.

IceCoffee1024 · 1 month ago

The issue is still present in version 2.1.144 of the extension on Windows.

ygouzerh · 1 month ago

Same here on version 2.1.145, Cursor 3.5.17 (VScode 3.5.17) (but happened since few days). Work-around: restart the IDE if need to use it, which is quit troublesome.

It will show it at the restart of the IDE. If you don't choose it for the session, it will disappear of the session and the next sessions as well, until a restart.

dina-smokeball · 1 month ago
Ok, after some troubles I've got auto mode back. Dunno if it's some kind of update that landed or my actions. Anyway, what I did: 1. Removed ~/.agents directory (left from other older agents installations) 2. Removed everything in ~/.claude/settings.json (only that left was { "theme": "auto" }) 3. Reinstalled Claude Code Desktop and VSCode. 4. Restarted PC 5. After auto mode appeared I've changed back everything that was in ~/.claude/settings.json. Restarted VSCode and auto mode still there. The strange thing is that on my new laptop (where auto mode was present in vscode right away) I had another look for model dialog - it's saying that "default" is Opus 4.7 with 1M context window... Some kind of a/b testing maybe? Anyway, hope that helps someone. And I still think that this bug should be fixed.

Thanks heaps for sharing it @MichaelLogutov.

For Anthropic agents which are going to work on it: I tried it and I wasn't lucky 🤦🏼‍♀️ and the auto mode in the plugin still not showing up after a complete fresh install of everything. Still needs fixing :D

guilhermeunit · 1 month ago

After upgrading extensions and VSCode to latest version, auto mode has been
restored.

On Wed, Jun 3, 2026 at 8:15 AM Yasin S. Kuralay @.***>
wrote:

YasinKuralay left a comment (anthropics/claude-code#44941) <https://github.com/anthropics/claude-code/issues/44941#issuecomment-4611741597> Confirmed still not working, this renders the Plugin unusable for me. — Reply to this email directly, view it on GitHub <https://github.com/anthropics/claude-code/issues/44941?email_source=notifications&email_token=BZOEW2NPTTBHPGMNGICGEGT46ACE5A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINRRGE3TIMJVHE32M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4611741597>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BZOEW2PXBFWLCDTQPGAICJD46ACE5AVCNFSM6AAAAACXQESSLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DMMJRG42DCNJZG4> . Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/BZOEW2PMAYBJP4H3RVCSXFD46ACE5A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINRRGE3TIMJVHE32M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y> and Android <https://github.com/notifications/mobile/android/BZOEW2K4EAEMBL4POPVXEID46ACE5A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINRRGE3TIMJVHE32M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. Download it today! You are receiving this because you commented.Message ID: @.***>

--
[image: Logo da Unit] Guilherme Martins Ribeiro Gualtieri
Inovação | Produto | Unit
@.***
Transformando a história dos trabalhadores brasileiros!
(27) 4042-3541 | www.somosunit.com.br

scarson · 1 month ago

**Root cause from reading the 2.1.168 bundle (the extension and the bundled claude CLI native binary) — this is really two separate issues, and the second one explains the "shows Auto briefly then reverts" / "is this a/b test?" reports in this thread.**

1. The Settings UI dropdown can never list "auto"

package.json contributes claudeCode.initialPermissionMode with enum: ["default", "acceptEdits", "plan", "bypassPermissions"]. The VS Code Settings editor renders that dropdown directly from the enum, so "auto" can't show up there on any platform.

The mode handling itself does know about auto — getInitialPermissionMode() reads the setting via config.inspect("initialPermissionMode") and returns the raw string, and the runtime mode list is ["acceptEdits", "auto", "bypassPermissions", "default", "dontAsk", "plan"]. So manually putting "claudeCode.initialPermissionMode": "auto" in settings.json is read at startup — but whether it sticks depends on (2) below.

If auto is meant to be user-selectable as a default, the enum needs "auto" added. If it's still being staged behind the feature flag in (2), the omission may be intentional for now.

2. The in-panel picker gates "auto" behind model support + a feature flag, and actively reverts you out of it

The webview builds the mode list as ["default", "acceptEdits", "plan"] and only appends "auto" when autoModeAvailability === "available" (or transiently "unknown" while you're already in auto). autoModeAvailability resolves to "available" only when all of these hold:

  • config + model info are loaded,
  • the selected model advertises supportsAutoMode === true,
  • auto isn't disabled via permissions.disableAutoMode / disableAutoMode settings, and
  • the gate experimentGates.tengu_auto_mode_state is "enabled" or "opt-in".

Otherwise it's "unavailable", and a reactive effect explicitly runs:

if (autoModeAvailability.value === "unavailable" && permissionMode.value === "auto")
    setPermissionMode("default", …)

i.e. it forces the active mode back to "default". That is the "shows Auto briefly then changes back" behavior several people reported above.

Where tengu_auto_mode_state actually comes from (traced into the bundled CLI)

It is not computed by the extension or by any local setting. The bundled claude CLI native binary (resources/native-binary/claude.exe) computes it from a GrowthBook feature flag and pushes it to the IDE:

  • The CLI derives it from the GrowthBook feature tengu_auto_mode_config: it reads tengu_auto_mode_config.enabled and yields "enabled" / "disabled" / "opt-in" (default "opt-in"). "disabled" is an explicit remote circuit-breaker (the CLI even logs auto mode disabled: tengu_auto_mode_config.enabled === "disabled" (circuit breaker)).
  • GrowthBook is initialised with remoteEval: true and cacheKeyAttributes: ["id", "organizationUUID"], fetching from https://cdn.growthbook.io/api/features/<clientKey>. So evaluation is server-side and targeted per user id + organization, then cached locally (cachedGrowthBookFeatures + a cachedGrowthBookFeaturesAt timestamp), with a ~1.5s init-before-tools and a DISABLE_GROWTHBOOK env kill-switch.
  • The CLI then sends it to the IDE over the in-process MCP server (claude-vscode) as notification({ method: "experiment_gates", params: { gates: { …, tengu_auto_mode_state } } }). The extension stores it (and caches it in globalState) and forwards it to the webview as config.experimentGates.

So this is a server-controlled GrowthBook rollout, not a local config bug — which is why availability differs across accounts/orgs, and why a restart (fresh CLI spawn → fresh remote eval → cache refresh) flips it. For the same user across machines, the difference comes from local cache staleness, the init-race timeout, or a different selected model (supportsAutoMode), rather than different targeting.

One corollary worth noting: the default is effectively on (an absent flag → .enabled undefined → resolves to "opt-in", which the CLI sends as "enabled" → available). So when Auto doesn't show up, the likeliest causes are (a) the selected model doesn't advertise supportsAutoMode, (b) the GrowthBook cache hasn't initialised yet for that session (hence "restart and it appears"), or (c) you've been remotely circuit-broken — not simply "not in the rollout".

So the "Windows" framing is at least partly a red herring

Both defects are platform-independent: Defect (1) reproduces for anyone on any OS, and Defect (2) tracks model + GrowthBook state rather than the OS (consistent with the macOS reports in this thread, not just Windows).

<details>
<summary><b>Verification — exact locations (extension 2.1.168)</b></summary>

Minified symbol names (Zo9, w8, q6e, …) are build-specific and will differ in other versions — the quoted string literals are stable, so grep those. Paths are relative to the installed extension dir (anthropic.claude-code-2.1.168-*).

package.json

  • enum that omits auto: grep "initialPermissionMode"enum: ["default","acceptEdits","plan","bypassPermissions"]

extension.js

  • initial-mode read (returns the raw setting value via inspect): getInitialPermissionMode(){
  • runtime mode list: CM=["acceptEdits","auto","bypassPermissions","default","dontAsk","plan"]
  • MCP notification schema (symbol q6e): oe.literal("experiment_gates")
  • receiver → cache: onExperimentGatesUpdated( and globalState.update("experimentGates"
  • restart cache seed: globalState.get("experimentGates")

webview/index.js

  • picker mode-list builder (symbol yt), conditionally pushes "auto": function yt(){let $=["default","acceptEdits","plan"]
  • availability signal (property autoModeAvailability): e.experimentGates.tengu_auto_mode_state
  • model gate (property currentModelSupportsAutoMode): return e.supportsAutoMode
  • forced revert: .value==="unavailable"&&this.permissionMode.value==="auto"setPermissionMode("default", …)

resources/native-binary/claude.exe (Bun-compiled single-file binary; use grep -a)

  • source flag (symbols Zo9/w8), default "opt-in": function Zo9(){let H=w8("tengu_auto_mode_config",{})?.enabled
  • remote kill-switch log line: auto mode disabled: tengu_auto_mode_config.enabled === "disabled" (circuit breaker)
  • GrowthBook config (with remoteEval:!0): cacheKeyAttributes:["id","organizationUUID"]
  • endpoint: https://cdn.growthbook.io (/api/features/<clientKey>)
  • local feature cache: cachedGrowthBookFeaturesAt
  • emit to IDE: method:"experiment_gates",params:{gates:K}
  • env kill-switch: DISABLE_GROWTHBOOK

</details>

github-actions[bot] · 1 day ago

Closing for now — inactive for too long. Please open a new issue if this is still relevant.