chore: auto-approve read-only Bash and tools in shared Claude Code config#4174
Conversation
…nfig Add a permissions.allow list to .claude/settings.json so read-only operations (Read/Glob/Grep, common read-only Bash commands, read-only git/gh queries, and dotnet info commands) no longer prompt for confirmation. Existing deny rules (curl/wget/ssh, secret reads, WebFetch) are unchanged and still take precedence. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Our agent can fix these. Install it.
No application code in the PR — skipped Code Health checks.
Quality Gate Profile: Clean Code Collective
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
Claude Code ReviewThanks for this — it's a focused, well-documented config change, and the PR description does a nice job laying out what's included and (importantly) what's deliberately excluded. Scope is clean: one file, additive only, no behavioral code touched. A few observations, mostly around the security model since that's the crux of this change. 🔐 Read-only Bash commands can bypass the
|
What
Adds a
permissions.allowlist to the team-shared.claude/settings.jsonso read-only operations no longer prompt for confirmation when using Claude Code.Why
Reduce friction for the whole team — read-only commands are safe to auto-approve, and keeping this in the version-controlled project config means everyone shares the same baseline.
What's auto-approved
Read,Glob,Grepls,cat,head,tail,wc,pwd,echo,which,find,grep,rg,tree,file,stat,diffstatus,log,diff,show,branch,remote,tag,blame,describe,rev-parse,ls-files,config --getpr view/list/diff,issue view/list--version,--info,--list-sdks,--list-runtimesWhat's deliberately excluded
denyrules (curl,wget,ssh, secret-file reads,WebFetch) are untouched. Deny takes precedence over allow, so those stay blocked.Bashallow, so writes/deletes still prompt.dotnet build/test/restore) are not included since they execute code and aren't strictly read-only.Individuals can override locally via the gitignored
.claude/settings.local.json.🤖 Generated with Claude Code