claude-code - 💡(How to fix) Fix [BUG] tengu_harbor_permissions feature flag overrides user-configured dangerouslySkipPermissions: true [2 comments, 3 participants]

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…
GitHub stats
anthropics/claude-code#48774Fetched 2026-04-16 06:51:20
View on GitHub
Comments
2
Participants
3
Timeline
6
Reactions
0
Timeline (top)
labeled ×3commented ×2renamed ×1
RAW_BUFFERClick to expand / collapse

Users who have explicitly opted into dangerouslySkipPermissions: true are still receiving permission prompts due to server-side feature flags that operate independently of the user's permission configuration.

Specifically, the tengu_harbor_permissions flag (pushed via Statsig and cached in .claude.json) introduces a permission layer that does not respect the user's dangerouslySkipPermissions: true setting. This creates a contradiction: the user has made an explicit, informed choice to bypass permission prompts, but a server-controlled flag overrides that choice without the user's knowledge or consent.

Reproduction

  1. Set dangerouslySkipPermissions: true in both ~/.claude/settings.json and ~/.claude/settings.local.json
  2. Confirm via claude config or by reading the settings files that bypass mode is active
  3. Observe that certain tool calls still trigger permission prompts during normal usage
  4. Inspect .claude.json — the Statsig-managed config contains "tengu_harbor_permissions": true
  5. This flag is not user-configurable and is pushed server-side

Investigation Findings

Binary analysis of v2.1.109 reveals 7 independent permission sources that can trigger prompts:

SourceCount in binaryRespects dangerouslySkipPermissions?
server123 refsUnclear
hook71 refsN/A (user-configured, intentional)
managed44 refsNo (enterprise/policy layer)
classifier34 refsNo
policy6 refsNo
sandbox4 refsPartially (can be disabled)
harbor2 refsNo

The dangerouslySkipPermissions flag only controls one of these layers. The others operate independently, meaning a user who has explicitly opted into bypass mode is still subject to multiple permission systems they cannot disable.

Additionally, tengu_disable_bypass_permissions_mode exists as a Statsig flag (currently false for my account), suggesting Anthropic retains the ability to remotely disable bypass mode entirely — which further undermines user agency over their own configuration.

Additional Context: Project-Level Override Gap

A related issue: project-level .claude/settings.json files that define permissions.allow or permissions.deny blocks — but do NOT include dangerouslySkipPermissions: true — effectively downgrade the user from bypass mode to allow-list mode when working in those project directories. This happens silently with no indication that the global bypass has been overridden.

Expected behavior: Global dangerouslySkipPermissions: true should be inherited by all projects unless a project-level setting explicitly opts out.

Actual behavior: Any project-level permissions block without the bypass flag silently reverts to non-bypass permission checking.

Expected Behavior

If a user sets dangerouslySkipPermissions: true, all client-side permission layers should respect that choice. Server-side flags should not be able to silently override a user's explicit permission configuration.

Proposed Solution

  1. dangerouslySkipPermissions should be authoritative — when set to true, it should bypass all client-side permission layers including harbor, classifiers, and policy checks
  2. Project-level inheritance — global bypass mode should propagate to project directories unless explicitly overridden at the project level
  3. Transparency — if a server-side flag is overriding a user's local configuration, the user should be informed (not silently overridden)

Related Issues

  • #9769 — Feature request to make system reminder types individually optional
  • #40176 — Task reminder system creates attention bias overriding user direction
  • #4464 — System reminder content injection consuming excessive context tokens
  • #17601 — Hidden system-reminder injections consuming 15%+ of context window

Environment

  • Claude Code v2.1.109
  • Platform: WSL2 (Ubuntu on Windows)
  • Shell: zsh
  • Permission mode: dangerouslySkipPermissions: true in both settings.json and settings.local.json

extent analysis

TL;DR

To fix the issue, the dangerouslySkipPermissions flag should be made authoritative, bypassing all client-side permission layers, and project-level inheritance should be implemented to propagate global bypass mode unless explicitly overridden.

Guidance

  • Review the tengu_harbor_permissions flag in .claude.json to understand how server-side feature flags are overriding user permission configurations.
  • Investigate the 7 independent permission sources identified in the binary analysis to determine which ones respect the dangerouslySkipPermissions flag.
  • Consider implementing a transparency mechanism to inform users when a server-side flag is overriding their local configuration.
  • Evaluate the proposed solution to make dangerouslySkipPermissions authoritative and implement project-level inheritance to ensure consistent permission behavior.

Example

No code snippet is provided as the issue is more related to configuration and permission flags rather than code implementation.

Notes

The issue highlights the complexity of permission management in the system, with multiple independent sources and server-side flags that can override user configurations. A thorough review of the permission system and its interactions with user settings is necessary to resolve the issue.

Recommendation

Apply the proposed solution to make dangerouslySkipPermissions authoritative and implement project-level inheritance, as this approach prioritizes user agency over their permission configuration and ensures consistent behavior across projects.

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] tengu_harbor_permissions feature flag overrides user-configured dangerouslySkipPermissions: true [2 comments, 3 participants]