[BUG] Dispatch ignores bypassPermissionsModeEnabled — always spawns with --permission-mode default

Resolved 💬 3 comments Opened Mar 19, 2026 by Bropofol Closed Mar 22, 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?

The "Allow all browser actions" toggle in Claude Desktop settings does not persist for Dispatch sessions. The toggle visually resets (does not stick) when clicked, and even when the underlying config file correctly contains "bypassPermissionsModeEnabled": true, Dispatch sessions are spawned with --permission-mode default instead of --permission-mode bypass.

Evidence from config file (~/Library/Application Support/Claude/claude_desktop_config.json):

"bypassPermissionsModeEnabled": true

Evidence from main.log (after Dispatch session connects):

[transport:ccr] reportMetadata {"permission_mode":"default","dispatch_agent_name":null}

The config file is written successfully (log shows Config file written after toggling), but:

  1. The UI toggle does not visually stick — it resets immediately after clicking
  2. The Dispatch session launcher ignores the bypassPermissionsModeEnabled flag and hardcodes --permission-mode default

This was also confirmed in sdk_daemon.log, where the spawned process explicitly receives --permission-mode default as an argument regardless of the config setting.

Environment:

  • macOS (Sonoma)
  • Claude Desktop latest version
  • Max plan ($200/mo)
  • Dispatch feature enabled and otherwise functional (sessions connect, SSE streams, heartbeats work)

Steps to reproduce:

  1. Open Claude Desktop → Settings
  2. Navigate to Dispatch setup
  3. Toggle "Allow all browser actions" on
  4. Observe: toggle does not visually persist
  5. Start a Dispatch session from mobile
  6. Check main.logpermission_mode is "default", not "bypass"

What Should Happen?

  1. The "Allow all browser actions" toggle should visually persist after being clicked
  2. When bypassPermissionsModeEnabled: true is set in the config, Dispatch sessions should be spawned with --permission-mode bypass (not default)
  3. The permission_mode reported in main.log metadata should reflect the user's config setting

Error Messages/Logs

Steps to Reproduce

  1. Open Claude Desktop (latest version, macOS Sonoma, Max plan)
  2. Go to Settings → Dispatch setup
  3. Toggle "Allow all browser actions" on
  4. Observe: toggle does not visually persist (resets immediately)
  5. Verify config file at ~/Library/Application Support/Claude/claude_desktop_config.json — it shows "bypassPermissionsModeEnabled": true
  6. Start a Dispatch session from mobile
  7. Check ~/Library/Logs/Claude/main.log — session metadata shows "permission_mode":"default" instead of "bypass"
  8. Check ~/Library/Logs/Claude/sdk_daemon.log — spawned process receives --permission-mode default as argument

Claude Model

Not sure / Multiple models

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

N/A — Claude Desktop (Dispatch feature), not Claude Code CLI

Platform

Other

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗