PERMISSIONS
Quais ferramentas rodam sem perguntar.
Cada tool (Bash, Edit, Write, MCP) pode ser allowed, denied ou asked. Define por padrão de comando. Ex: Bash(git status:*) libera só status, não push.
Move pra user settings o que é universalmente seguro (ls, git diff, npm test). Move pra project settings o que é específico do repo (npm run convex:deploy só nesse projeto).
Nunca libera Bash(*) inteiro. Perde o cinto de segurança e ainda fica achando que tá confortável.
Exemplo prático
// .claude/settings.local.json
{
"permissions": {
"allow": [
"Bash(git status:*)",
"Bash(git diff:*)",
"Bash(npm test:*)",
"Read(*)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(git push --force:*)"
]
}
}Esta ficha é parte do Claude Code OS, o blueprint completo das 25 práticas que separam quem segue tutorial de quem usa Claude de verdade.