[BUG] Auto mode never appears in VS Code extension picker — server-side gate (tengu_auto_mode_state) never delivered for client_type claude-vscode
Summary
Auto mode never appears in the VS Code extension's permission-mode picker (Shift+Tab menu), even though the account is enrolled in the broader Auto mode rollout and claude --permission-mode auto works correctly from the terminal CLI on the same account/machine. This reproduces the exact symptom already reported and closed-stale in #61282, #60086, and #44941 (Linux, Windows x2) — this report adds code-level root-cause evidence from reading the compiled extension bundle directly, isolating it to a specific server-side feature gate.
Environment
- Claude Code VS Code extension: 2.1.220 (confirmed current via marketplace at time of testing — not a stale-extension issue)
- OS: macOS
- Terminal CLI: same version family, works correctly (
claude --permission-mode autosucceeds every time)
What we found
The extension's webview picker-building function (Ti() in the bundled webview/index.js) conditionally includes "auto" in the mode list based on a live, server-pushed field:
experimentGates.tengu_auto_mode_state === "enabled" | "opt-in"
This field is delivered via JSON-RPC from the spawned CLI subprocess at session start — it is never read from any local file, so no claudeCode.* VS Code setting, environment variable, or ~/.claude/settings.json key can force it. We confirmed none of those exist as an override.
Inspecting the account's live gate cache (~/.claude.json) shows:
tengu_auto_mode_config: "enabled"— the account is enrolled in the broader Auto mode feature.tengu_auto_mode_state— missing entirely, not explicitly set to a disabled value. It's simply never delivered.
The extension reports client_type: "claude-vscode" to the backend (vs. plain terminal sessions). Combined with the terminal working fine on the identical account, this strongly suggests a rollout gate that keys off client_type and has not been enabled for the VS Code surface, rather than an account-level eligibility issue or a bug in the extension's own rendering logic.
What we ruled out (all tested directly, not assumed)
- Extension staleness — confirmed on latest marketplace version (2.1.220), MD5-identical bundled CLI vs. system CLI
- Any
claudeCode.*VS Code setting exposing this — none exists - Any environment variable override — none found
- Stale local cache — a full VS Code quit + reopen does not refresh the gate (tested)
skipAutoPermissionPrompt/ other local permission flags — no effect- Account/model ineligibility — ruled out by the terminal CLI working correctly on the same account
Expected behavior
Auto mode should appear in the VS Code picker for any account where tengu_auto_mode_config is enabled, matching terminal CLI behavior on the same account.
Ask
Given this reproduces across at least 3 prior closed reports on different platforms over time, could someone confirm whether tengu_auto_mode_state rollout is specifically gated per client_type, and if so, get claude-vscode included? Happy to provide additional local diagnostics if useful.
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
In you settings you can toggle (VsCode Version: 1.132.0):
Allow auto permission mode, which uses a model classifier to approve or deny tool operations automatically
This one is unfortunately only for Github Copilot, not for Claude Code, right?
+1, with a data point that suggests a server-side rollback around Aug 10–11 rather than "never rolled out":
Auto mode worked for me in the VS Code extension on Aug 10, 2026, and disappeared from the picker on Aug 11
Caveat - I'm terrible about letting VS code install updates and refresh extensions; so I probably skipped several versions when I tried to update...
Environment
anthropic.claude-codev2.1.228, CLI 2.1.228 (native install, versions match)claude-opus-4-8[1m](effort: xhigh) — confirmed via/modelin the extensionEvidence from
~/.claude.json(flag cache re-fetched Aug 11):tengu_auto_mode_stateis entirely absent — not"disabled", just never delivered (matches OP)tengu_auto_mode_config.enabled: "enabled", and itsseverityByModelincludesclaude-opus-4-8[1m], so account + model are eligibletengu_disable_bypass_permissions_mode: false, no managed-settings.json, nodisableAutoModeanywhereRuled out locally: version skew (CLI and extension both 2.1.228),
claudeCode.environmentVariables/ANTHROPIC_MODELoverrides