Trust dialog never re-fires for projects onboarded pre-2.1.195 → settings.local.json permissions permanently ignored
Environment: Claude Code 2.1.196, macOS (Darwin 25.5.0)
Summary
v2.1.195+ enforces the per-project hasTrustDialogAccepted flag — settings.local.json permissions.allow entries are ignored unless the flag is true. For projects whose onboarding completed before this enforcement existed, the flag was never set, and the trust dialog never re-fires, leaving no interactive way to set it. The CLI's own suggested remedy ("accept the trust dialog") is unreachable.
Repro
- Have a project in
~/.claude.jsonwith:
hasCompletedProjectOnboarding: trueprojectOnboardingSeenCount > 0hasTrustDialogAccepted: false- (state left by onboarding on an older version — mine:
lastOnboardingVersion: 2.1.59)
- Run
claudein that dir (with or without--resume).
Actual
A red warning prints before the TUI, then Claude proceeds with permissions ignored:
Ignoring 87 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/j"].hasTrustDialogAccepted: true in /Users/j/.claude.json.
No trust dialog ever appears — because onboarding is marked complete, the prompt is skipped. So the suggested interactive fix is impossible; the only escape is hand-editing .claude.json or downgrading below 2.1.195.
Expected
Either:
- (a) the trust dialog re-fires whenever
hasTrustDialogAcceptedis false, regardless of onboarding state; or - (b) a migration sets
hasTrustDialogAccepted: truefor already-onboarded projects that had working permissions before 2.1.195.
Notes
- Not a data-loss event:
.claude.jsonbackups from March and May also show the flagfalsefor these dirs — the flag was simply never set; only the enforcement is new in 2.1.195+. - Affected ~49 of 68 projects on this machine.
- Workaround used: with all Claude sessions closed (Claude rewrites
.claude.jsonon exit, clobbering live edits), sethasTrustDialogAccepted: truefor each project entry in~/.claude.json.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗