[Desktop] WebFetch still prompts "Allow once" in auto mode despite a bare `WebFetch` allow rule

Status Open
Reported on v2.1.197
Maintainer reply None cached
Activity 1 comment · opened Oct 6, 2026

Environment

  • Claude desktop app (Code tab), local session, macOS 26.6.2
  • claude --version on PATH: 2.1.197 (the desktop app may bundle a different version)
  • Session permission mode: auto (confirmed via session metadata)

Settings

~/.claude/settings.json:

"permissions": {
  "allow": [ "...", "WebFetch(domain:claude.ai)", "WebSearch", "...", "WebFetch" ],
  "deny": [ "Bash(security:*)", "Bash(mysql:*)", "..." ],
  "defaultMode": "auto"
}
  • No ask rules anywhere, and no WebFetch deny rules.
  • The working directory has no project .claude/settings*.json.

Steps to reproduce

  1. Put a bare "WebFetch" in permissions.allow in user settings, with "defaultMode": "auto".
  2. Open a new local session in the desktop app. It starts in auto mode.
  3. Have Claude call WebFetch on any non-preapproved URL, e.g. https://www.bccrt.bc.ca/decisions/2024/2024-bccrt-149/.

Expected

The fetch runs with no prompt. The permissions docs say a bare WebFetch "Matches all web fetch requests". The permission-modes docs say an action matching an allow rule "resolve[s] immediately" in auto mode, and WebFetch is not in the list of exceptions. WebFetch is also not in the list of allow rules that auto mode drops.

Actual

The desktop app shows a dialog that offers only Deny and Allow once:

Allow Claude to fetch https://www.bccrt.bc.ca/decisions/2024/2024-bccrt-149/?
  • It happens for WebFetch from the main conversation.
  • It happens for WebFetch from a subagent spawned with the Agent tool. That prompt surfaces in the parent session.
  • It reproduced in two separate sessions on the same day.
  • The dialog has no "always allow" option, so there is no way to persist the approval from the UI.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗