[BUG] Desktop: Bypass Permissions mode can't be enabled on macOS — reverts to Accept Edits, "Permission mode couldn't be changed" (2.1.148)
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?
Bypass Permissions mode cannot be activated in the Claude Code Desktop app even though "Allow bypass permissions mode" is enabled in Settings → Claude Code.
New sessions start in Accept Edits with the banner _"Bypass Permissions mode isn't enabled. The session started in Accept Edits - enable Bypass Permissions in Settings to use it."_
Attempting to switch the mode manually fails with the toast _"Permission mode couldn't be changed. You can try again,"_ and any mode change reverts to Accept Edits after the first prompt.
The same bypass workflow works correctly in the Claude Code CLI (--dangerously-skip-permissions) on the same machine, so this is Desktop-specific.
What Should Happen?
With the setting enabled, a new session can enter Bypass Permissions and stay there.
Error Messages/Logs
Bypass Permissions mode isn't enabled. The session started in Accept Edits - enable Bypass Permissions in Settings to use it.
Permission mode couldn't be changed. You can try again
Steps to Reproduce
- Open Claude Code Desktop (embedded Claude Code 2.1.148), macOS.
- Settings → Claude Code → enable "Allow bypass permissions mode".
- Fully quit (⌘Q) and relaunch.
- Start a new session → banner reports bypass isn't enabled; session opens in Accept Edits.
- Try to switch to Bypass Permissions via the mode selector / Shift+Tab.
- Toast appears: _"Permission mode couldn't be changed. You can try again."_ Mode stays on / reverts to Accept Edits after the first prompt.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.148
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Environment
- Claude Code: 2.1.148 (embedded in Desktop app)
- Desktop app version: Claude for Mac1.8555.0 (8245b7) 2026-05-21T05:49:11.000Z
- Platform: Claude Code Desktop (macOS app)
- OS: macOS 26.4.1 (25E253)
- Plan: Max
- CLI comparison: bypass works via claude
--dangerously-skip-permissionson the same machine
<img width="1072" height="1162" alt="Image" src="https://github.com/user-attachments/assets/b1f00824-f129-44c9-ac38-cca183dd005e" />
<img width="1072" height="1162" alt="Image" src="https://github.com/user-attachments/assets/74b53cd0-a8bd-4360-9877-a02cb54946af" />
63 Comments
same issue here and I am windows 11
Can confirm the same on mac os, Claude 1.8555.1 (cfe7d4) 2026-05-22T17:41:12.000Z
Confirmed. Fresh install, fresh macos 26.4 (25E246), Claude 1.8555.2 (a476c3) 2026-05-22T23:04:37.000Z
This issue requires immediate attention and resolution. Confirmed issue on Windows
I have the same problem on my Mac.
Confirming this on macOS with the same version same symptoms exactly.
"Bypass Permissions mode isn't enabled. The session started in Accept Edits — enable Bypass Permissions in Settings to use it."
Confirming same issue on MacOS, Immediate attention needed.
needed fix
Confirmed. This needs attention.
+1
+1
+1 (on windows 11)
Bug report — Bypass permissions.md
+1
+1, btw I use Windows 11
Same. Windows 11
+1,Windows 11
+1 on MacOS
+1 macos and i try claude to inspect and repair the setting files and still couldn't be solved
Workaround: ensure
~/Library/Application Support/Claude/claude_desktop_config.jsoncontains:Then relaunch. Happy trails.
Confirmed - that workaround did the trick for me. Thanks!
This workaround worked for me on:
MacBook Air (Intel)
Sequoia 15.7.5 (24G624)
Claude 1.8555.2 (a476c3)
Previously I encounter the same error as in this bug report: "Permission mode couldn't be changed. You can try again".
+1 spent 1 hour and cannot fix.
Windows 11 same
win11 Claude 1.8555.2 (a476c3) 2026-05-22T23:04:37.000Z 尝试各种方法,无效
i have the same issue on mac. it was working fine on my other computer (windows) a few days ago, so i suspect it's a regression.
Confirming this is still broken on the latest desktop build.
Environment
1.8555.22.1.15026.4.1(Darwin 25.4.0, Apple Silicon)Repro
~/.claude/settings.jsonhas"permissions": { "defaultMode": "bypassPermissions" }..claude/settings.jsonand.claude/settings.local.jsonalso have"permissions": { "defaultMode": "bypassPermissions" }./Library/Application Support/ClaudeCode/managed-settings.json.disableBypassPermissionsModeanywhere.skipDangerousModePermissionPrompt: trueis set in user settings.Expected
Session starts in bypass mode (or at least bypass is selectable from the mode picker).
Actual
Shift+Tabcycles through the other modes only.defaultMode: "bypassPermissions"fromsettings.jsonappears to be ignored by the desktop app.Works fine via CLI
Same machine, same settings files —
claude --dangerously-skip-permissionsandShift+Tabboth work as expected in the terminal. The bug is desktop-only.Happy to provide logs / a sysdiagnose if helpful.
Same issue, Windows 11. Disappointing due to hours of time wasted attempting to fix.
Same on Windows 11
Same, Windows 11. This is extremely crippling to my work, having to constantly check in on Claude and accept edits. It should be working autonomously, but now I have to babysit.
Your best bet is Auto mode right now, but this is kind of a not okay bug and Anthropic has yet to fix it. Hoping Anthropic can compensate for the wasted token usage (Auto Mode uses more token usage as it weighs what's safe and what's risky.
Having the same issue as well. Not being able to use "bypass permissions" makes the process so much harder and it takes away from being able to do autonomous work.
I am using a Macbook Pro Nov 2024, M4 Max on OS Tahoe 26.5 on the latest Claude Desktop app at the time of posting Claude 1.8555.2 (a476c3) 2026-05-22T23:04:37.000Z
I can't wait until this gets fixed.
Same issue on Win11. I managed to fix it in
%APPDATA%\Claude\claude_desktop_config.json, adding"bypassPermissionsModeEnabled": trueto the preferences object, then restarting the app.samer here
Thanks @tedornitier - this has worked for me on Windows 11.
Confirmed patch, i have added.
And all worked thanks!
Can also confirm this worked for me. Thanks, you saved me a ton of time!
same here on Mac OS 15.7.4
这是win10 desktop的解决方案,在下面这个路径
C:\Users\<用户名>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json
添加 "bypassPermissionsModeEnabled": true
完整文件参考
{
"preferences": {
"coworkScheduledTasksEnabled": true,
"ccdScheduledTasksEnabled": true,
"bypassPermissionsModeEnabled": true,
"bypassPermissionsOptInByAccount": {},
"bypassPermissionsGateByAccount": {},
"coworkWebSearchEnabled": true,
"epitaxyPrefs": {
"starred-local-code-sessions": [],
"starred-cowork-spaces": [],
"starred-session-groups": [],
"dframe-local-slice": {
"pinnedOrder": [],
"customGroupAssignments": {},
"customGroupOrder": {}
}
}
}
}
Same Issue, MacBook Air, M5
Solved in macbook with same edit^
FYI, for macos the file you are looking for is
~/Library/Application Support/Claude/claude_desktop_config.json**Workaround that survives the GrowthBook re-sync — set the launcher gate
bypassPermissionsModeEnableddirectly inclaude_desktop_config.json(macOS, with explanation of why it works)**Adding to the existing
bypassPermissionsModeEnabled: trueworkaround already mentioned in this thread (kudos to the Win11 reporters above) with the macOS path, the launcher logic that explains why this is the right key, and a couple of caveats that bit me.Why this specific key works (decompiled from
app.asar)The session-launcher's effective mode is computed like this:
If
bypassPermissionsModeEnabled !== true, every Bypass session is silently downgraded to AcceptEdits at launch AND the CLI is spawned without--allow-dangerously-skip-permissions. That's why trying to flip the mode later also fails with "Permission mode couldn't be changed" — the CLI was never given the flag at spawn time, so it rejects any latersetPermissionMode(bypass)call.Three independent prefs are at play in the Desktop app, and only one is checked at session-launch time:
| Pref | Purpose | Where checked |
|---|---|---|
|
bypassPermissionsOptInByAccount[uuid]| UI dropdown visibility | UI render ||
bypassPermissionsGateByAccount[uuid]| Settings toggle state | Settings UI ||
bypassPermissionsModeEnabled| Launcher gate — adds--allow-dangerously-skip-permissions| Session spawn |The Settings UI toggle "Allow bypass permissions mode" sets the per-account flags but does not always set the global one (especially when the harbor A/B cohort is active — see #62205). The launcher then reads
bypassPermissionsModeEnabledasundefined, treats it as false, and downgrades.Fix (macOS)
Edit
~/Library/Application Support/Claude/claude_desktop_config.json:Find your current account UUID:
Then fully ⌘Q Claude Desktop and:
The temporary
chmod 444matters: when Claude Desktop quits, it serializes its in-memory prefs back to this file. Since the in-memory state from the previous launch doesn't contain your newbypassPermissionsModeEnabled: true, the quit-time write strips it. Locking the file read-only across one quit/relaunch cycle preserves the edit long enough for the new launch to read it into memory.Why this is more durable than the
~/.claude.jsonpatch in #62205#62205 correctly identifies that GrowthBook flags
tengu_permission_friction+tengu_quill_harbor: "acceptEdits"are the underlying cause for users in the harbor A/B cohort. But~/.claude.json'scachedGrowthBookFeaturesis re-synced from Anthropic's GrowthBook CDN every ~9 minutes — any patch there gets clobbered.claude_desktop_config.jsonis local user state, never re-synced, so the launcher-gate fix persists.I'm in that A/B cohort (
tengu_harbor=true, tengu_harbor_permissions=true, tengu_permission_friction=true, tengu_quill_harbor=acceptEdits) and settingbypassPermissionsModeEnabled: truealone defuses both symptoms — the session-launch downgrade AND the "Permission mode couldn't be changed" error — because the launcher gate short-circuits before the GrowthBook-derived session default is applied.Extra gotcha — account UUID mismatch after reinstall/re-auth
A reinstall + re-auth can land you on a different
orgIdthan the one your existing bypass flags are keyed to. In my case the flags were keyed to a now-defunct UUID and my active account was a new one. The Settings toggle reported "on" but pointed at a dead UUID — the fix appeared applied but had no effect.To check:
If they don't match, duplicate the entries under the active UUID (you can keep the old ones too).
Environment
~/Library/Logs/Claude/main.log:[error] [CCD] Failed to set permission mode for session ...: Cannot set permission mode to bypassPermissions because the session was not launched with --dangerously-skip-permissions[info] [CCD] Set permission mode for session ... to bypassPermissionsCross-ref for the deeper A/B-flag root cause: #62205. Other related: #61436, #61618, #62076.
Thanks.
Reproduced on macOS Desktop, with root cause traced to a GrowthBook flag override.
Setup:
Desktop app on macOS (Darwin 25.3.0)
Settings → "Allow bypass permissions mode" toggled on
~/.claude/settings.json contains "permissions": { "defaultMode": "bypassPermissions" }
Behavior:
Every new session starts in Accept Edits with the banner: "Bypass Permissions mode isn't enabled. The session started in Accept Edits — enable Bypass Permissions in Settings to use it."
Attempting to switch modes manually fails with "Permission mode couldn't be changed."
claude --dangerously-skip-permissions from the CLI on the same machine works fine.
Root cause:
~/.claude.json contains cachedGrowthBookFeatures.tengu_quill_harbor = "acceptEdits", mirrored to top-level tengu_quill_harbor on launch.
Editing either field manually is reverted on the next launch (the cache appears to refetch or the launcher re-mirrors).
Related flags on the account: tengu_permission_friction: true, tengu_harbor_permissions: true, tengu_disable_bypass_permissions_mode: false — i.e. bypass mode is available, just forcibly defaulted off by experiment assignment.
The UX problem: the Settings toggle and the local permissions.defaultMode value are both silently overridden by the server-side experiment. From the user's perspective, the setting is enabled but does nothing, with no indication that an experiment is in control. At minimum the toggle should either (a) actually override the experiment for users who explicitly opt in, or (b) be disabled with a visible "managed by your account configuration" message.
Workaround for affected users: use claude --dangerously-skip-permissions from the CLI. The Desktop app is unusable for bypass-mode workflows until the local override path is fixed or the experiment exits.
The fact that this issue is still in effect after several days is very disappointing.
The same problem
same issue
same issue
same issue
Same issue here - nothing seems to work against it...
same issue
same issue
Same issue with the Windows Desktop app, works in CLI
same issue
Close Claude Desktop, then add
"bypassPermissionsModeEnabled": trueto thepreferencessection inclaude_desktop_config.json:%LOCALAPPDATA%\Claude-3p\claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonSave and restart Claude Desktop. Note: the app may rewrite this file on restart and strip the field, so you might need to re-add it.
@fucknoobhanzo's comment worked for me.
fyi on a mac,
claude_desktop_config.jsoncan be found in~/Library/Application\ Support/Claude/Same issue and claude_desktop_config.json does not exist. The Claude-3p folder is just an empty file directory.
Same here, I have Claude version 1.9659.2 (390d6c) and I am running on macOS Tahoe 26.3.1
Adding:
"bypassPermissionsModeEnabled": truein~/Library/Application\ Support/Claude/claude_desktop_config.jsondoes not work.Adding:
"bypassPermissionsModeEnabled": truein~/Library/Application\ Support/Claude-3p/claude_desktop_config.jsonSame. Workaround doesn't help. I'm in dev mode with a local LLM. Could it be that?
any feedback ? till have this issue after a month...
This is seriously annoying, same issue here.
same issue.