claude-code - 💡(How to fix) Fix [BUG] Auto mode missing from VS Code extension picker on Linux despite canEnterAuto=true (works in terminal CLI and Windows extension)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

[auto-mode] verifyAutoModeGateAccess: enabledState=enabled disabledBySettings=false model=claude-opus-4-7[1m] modelSupported=true disableFastModeBreakerFires=false carouselAvailable=true canEnterAuto=true

The webview only ever requests these modes — never "auto":

webview -> set_permission_mode {"mode":"bypassPermissions","userInitiated":true} webview -> set_permission_mode {"mode":"plan","userInitiated":true} webview -> set_permission_mode {"mode":"acceptEdits","userInitiated":true}

Recurring on every auth status check:

[error] claude auth status parse failed: SyntaxError: Unexpected end of JSON input

Binary launched (extension reports 2.1.145, binary resolves to 2.1.146):

Spawning Claude with SDK query function - permission mode: acceptEdits, version: 2.1.145, /home/<user>/.local/bin/claude Acquired PID lock for 2.1.146 ... /home/<user>/.local/share/claude/versions/2.1.146

Code Example

[auto-mode] verifyAutoModeGateAccess: enabledState=enabled disabledBySettings=false model=claude-opus-4-7[1m] modelSupported=true disableFastModeBreakerFires=false carouselAvailable=true canEnterAuto=true

# The webview only ever requests these modes — never "auto":
webview -> set_permission_mode {"mode":"bypassPermissions","userInitiated":true}
webview -> set_permission_mode {"mode":"plan","userInitiated":true}
webview -> set_permission_mode {"mode":"acceptEdits","userInitiated":true}

# Recurring on every auth status check:
[error] claude auth status parse failed: SyntaxError: Unexpected end of JSON input

# Binary launched (extension reports 2.1.145, binary resolves to 2.1.146):
Spawning Claude with SDK query function - permission mode: acceptEdits, version: 2.1.145, /home/<user>/.local/bin/claude
Acquired PID lock for 2.1.146 ... /home/<user>/.local/share/claude/versions/2.1.146
RAW_BUFFERClick to expand / collapse

Preflight Checklist

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

What's Wrong?

On Linux (Ubuntu 24.04, VS Code extension), the mode picker only shows Ask before edits, Edit automatically, Plan mode, and — after enabling "Allow dangerously skip permissions" — Bypass permissions. "Auto mode" never appears.

This is NOT an eligibility problem. The spawned CLI explicitly reports Auto mode is available. The extension Output log shows:

[auto-mode] verifyAutoModeGateAccess: enabledState=enabled disabledBySettings=false model=claude-opus-4-7[1m] modelSupported=true carouselAvailable=true canEnterAuto=true

Despite canEnterAuto=true and carouselAvailable=true, the extension webview only ever sends set_permission_mode with acceptEdits, plan, or bypassPermissionsnever auto. The backend offers Auto mode but the extension UI does not render it.

Key facts:

  • Auto mode works in the terminal CLI on the same machine/account.
  • Auto mode appears in the Windows extension picker with the same account (Claude Max, Opus 4.7).
  • Extension version 2.1.145 · CLI version 2.1.146.
  • The Linux extension build did not ship a bundled native binary (errored "native binary not found" until claudeProcessWrapper was set to an external claude).

Also recurring on every auth check (possibly related): claude auth status parse failed: SyntaxError: Unexpected end of JSON input

What Should Happen?

"Auto mode" should appear in the VS Code extension mode picker on Linux — as it does in the terminal CLI and in the Windows extension — since the backend reports canEnterAuto=true / carouselAvailable=true and all documented requirements are met (Claude Max, Opus 4.7, Anthropic API, "Allow dangerously skip permissions" enabled).

Error Messages/Logs

[auto-mode] verifyAutoModeGateAccess: enabledState=enabled disabledBySettings=false model=claude-opus-4-7[1m] modelSupported=true disableFastModeBreakerFires=false carouselAvailable=true canEnterAuto=true

# The webview only ever requests these modes — never "auto":
webview -> set_permission_mode {"mode":"bypassPermissions","userInitiated":true}
webview -> set_permission_mode {"mode":"plan","userInitiated":true}
webview -> set_permission_mode {"mode":"acceptEdits","userInitiated":true}

# Recurring on every auth status check:
[error] claude auth status parse failed: SyntaxError: Unexpected end of JSON input

# Binary launched (extension reports 2.1.145, binary resolves to 2.1.146):
Spawning Claude with SDK query function - permission mode: acceptEdits, version: 2.1.145, /home/<user>/.local/bin/claude
Acquired PID lock for 2.1.146 ... /home/<user>/.local/share/claude/versions/2.1.146

Steps to Reproduce

  1. On Linux (Ubuntu 24.04), install the Claude Code VS Code extension (v2.1.145).
  2. Extension reports "native binary not found"; install the CLI and set claudeCode.claudeProcessWrapper to the external binary (e.g. /home/<user>/.local/bin/claude).
  3. Account meets all Auto mode requirements: Claude Max, Opus 4.7, Anthropic API.
  4. Set claudeCode.allowDangerouslySkipPermissions: true and reload the window.
  5. Open the mode picker in the extension panel (Shift+Tab to cycle).
  6. Observe: picker shows Ask before edits / Edit automatically / Plan mode / Bypass permissions — but NOT Auto mode.
  7. In the same project, run claude in the integrated terminal and press Shift+Tab → Auto mode IS available there.
  8. On Windows with the same account, the extension picker DOES show Auto mode.

Tried with no effect (in this order):

  • Enabled allowDangerouslySkipPermissions + reloaded → only surfaced Bypass, never Auto.
  • Set claudeProcessWrapper to the external binary, and also removed it → no change.
  • Full uninstall + reinstall of the extension → no change.
  • Initially ran with CLI 2.1.146 (Auto mode missing in the picker), then deliberately downgraded the CLI to 2.1.145 to align with the extension version in case version skew was the cause → Auto mode was STILL missing. The bug reproduces on BOTH 2.1.146 and 2.1.145.
  • Confirmed all Auto mode preconditions (Max plan, Opus 4.7, Anthropic API).

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.1.146 (Claude Code) — also tested 2.1.145 to match the extension version; same result

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

This is a UI/webview bug in the Linux extension — not a terminal, account, or config issue. The backend reports Auto mode available (canEnterAuto=true) but the extension webview never renders it. (Note: the actual issue is in the VS Code extension panel, not the terminal/shell selected above.)

Environment:

  • OS: Ubuntu 24.04 LTS, kernel 6.17.0, linux-x64
  • VS Code: 1.121.0
  • Claude Code extension: 2.1.145
  • Claude Code CLI: tested 2.1.146 first (Auto mode missing), then downgraded to 2.1.145 to match the extension — missing in BOTH
  • Plan: Claude Max · Model: Opus 4.7 · Provider: Anthropic API

Possibly related: #44941 (Auto mode missing in extension, reported on Windows; says it worked in extension 2.1.81), #56648 (claudeProcessWrapper ignored on Linux), #10500 (claudeProcessWrapper not used with useTerminal).

The Linux extension build did not bundle a native binary, forcing use of claudeProcessWrapper. This may be connected: Windows ships a bundled binary and shows Auto mode, while Linux relies on the external wrapper and does not.

Screenshots:

<img width="817" height="830" alt="Image" src="https://github.com/user-attachments/assets/59611ae0-7a8d-4744-9071-bac41bf433bb" /> <img width="490" height="449" alt="Image" src="https://github.com/user-attachments/assets/85fcb349-4413-4f6d-9d95-c2c8ed9173ef" /> <img width="2205" height="852" alt="Image" src="https://github.com/user-attachments/assets/b6cc4103-10df-4e9d-8825-2eb3e587b591" />

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Auto mode missing from VS Code extension picker on Linux despite canEnterAuto=true (works in terminal CLI and Windows extension)