Claude Code: Configuração de Permissões
Última atualização: 2026-08-31
O Claude Code tem permissões elevadas — pode ler/escrever arquivos, executar comandos e acessar redes. Entender e configurar permissões é fundamental para o uso seguro.
📋 Pré-requisitos: Capítulo 10 - Gerenciamento de Contexto
1. O Que Você Vai Aprender
- Modelo e categorias de permissões
- Configuração de auto-aprovação
- Modo restrito
- Proteção de projetos sensíveis
- Estratégias de permissão para equipes
2. Modelo de Permissões
(1) Categorias de Operações e Permissões Padrão
| Tipo de Operação | Exemplo | Permissão Padrão | Observações |
|---|---|---|---|
| Leitura | Ler arquivos, ver diretórios | Auto-permitido | Somente leitura, sem risco |
| Escrita | Criar/modificar arquivos | Requer confirmação | Auto-aprovação configurável |
| Bash | Executar comandos shell | Requer confirmação | Alto risco, recomenda-se manter confirmação |
| Rede | Instalar pacotes, chamadas de API | Requer confirmação | Acesso externo, risco de segurança |
| MCP | Chamar ferramentas MCP | Requer confirmação | Depende da função da ferramenta |
(2) Opções de Confirmação
Claude wants to execute: npm install lodash
[Allow / Deny / Always for this session]
▶ Exemplo 1: Cenários de Confirmação de Permissão
# Leitura: auto-aprovada
→ Reading src/index.ts ✓ (auto-approved)
# Modificação: precisa de confirmação
→ Modifying src/index.ts
Allow editing? [y/n/a] y
# Execução: precisa de confirmação
→ Running: npm test
Allow executing: npm test? [y/n/a] a
(Set to auto-allow for this session)
3. Configuração de Auto-Aprovação
(1) Configurar no CLAUDE.md
## Permission Configuration
- Auto-allow editing .ts and .test.ts files under src/
- Auto-allow running npm test and npm run lint
- Auto-allow running npm install (adding dependencies)
- Require confirmation: modifying prisma/schema.prisma
- Require confirmation: modifying package.json scripts
- Require confirmation: any git operations
- Deny: executing curl/wget and other network request commands
(2) Parâmetros de Linha de Comando
# Apenas permitir leitura e escrita (sem execução de comandos)
claude --allowed-tools Read,Write
# Permitir leitura, escrita e comandos Bash específicos
claude --allowed-tools Read,Write,Bash(npm test),Bash(npm run lint)
# Modo totalmente automático (perigoso!)
claude --allow-full-auto
▶ Exemplo 2: Config de Permissão em Nível de Projeto
<!-- Test project CLAUDE.md (permissões relaxadas) -->
## Permissions
- Auto-allow: All file edits
- Auto-allow: npm test, npm run build, npm run lint
- Auto-allow: git add, git commit
- Require confirmation: npm publish, git push
<!-- Production project CLAUDE.md (permissões estritas) -->
## Permissions
- Auto-allow: Read-only operations
- Require confirmation: All file modifications
- Require confirmation: All command executions
- Deny: git push, npm publish, rm -rf
- Deny: Modifying .env and config files
4. Modo Restrito
(1) Modo Somente Leitura
# Completamente somente leitura, sem modificações de arquivo
claude --allowed-tools Read
# Somente leitura + comandos Bash seguros
claude --allowed-tools Read,Bash(git status),Bash(npm test)
(2) Modo Sandbox
# Executar em sandbox, alterações não afetam arquivos reais
claude --sandbox
5. Proteção de Projetos Sensíveis
(1) Arquivo .claudeignore
# .claudeignore - Excluir arquivos sensíveis
.env
.env.*
**/secrets/**
**/credentials/**
**/private-key.*
config/production.*
(2) Estratégia de Proteção
| Tipo de Arquivo | Método de Proteção | Motivo |
|---|---|---|
| .env | Excluir via .claudeignore | Contém secrets |
| secrets/ | .claudeignore + confirmar | Diretório de credenciais |
| schema.prisma | Marcar para confirmação no CLAUDE.md | Mudanças na estrutura do BD são de alto risco |
| package.json | Marcar para confirmação no CLAUDE.md | Mudanças de dependências precisam de review |
▶ Exemplo 3: Config de Permissão para Projeto Financeiro
## Permissions (Strict Mode)
- Auto-allow: Read-only operations
- Require confirmation: All file modifications (including src/)
- Require confirmation: All Bash commands
- Deny: Modify files under src/payment/ and src/billing/
- Deny: Run any database operation commands
- Deny: Modify Docker and CI configuration
6. Exemplo Completo: Estratégia de Permissão para Equipe
# Nível 1: Projetos experimentais pessoais
claude --allow-full-auto (Totalmente automático, iteração rápida)
# Nível 2: Projetos de desenvolvimento da equipe
- CLAUDE.md configura auto-edit src/ e tests/
- Auto-run npm test
- Operações git precisam de confirmação
# Nível 3: Projetos de negócios centrais
- Modo somente leitura + confirmar gravações manualmente
- .claudeignore protege diretórios sensíveis
- Todas as alterações passam por git diff review
# Nível 4: Projetos de produção/financeiros
- Modo somente leitura
- Sugere modificações, não modifica diretamente
- Revisão humana antes de aplicação manual
❓ Perguntas Frequentes
P:
--allow-full-autoé seguro? R: Não. Modo full-auto não faz confirmação, adequado para projetos de teste e CI. Nunca use em produção.
P: Diferença entre .claudeignore e .gitignore? R:
.gitignorecontrola arquivos ignorados pelo git;.claudeignorecontrola arquivos que o Claude Code não vai ler. Funcionam independentemente.
P: O Claude Code pode burlar a configuração de permissões? R: Normalmente não. Mas pode indiretamente executar operações não autorizadas via comandos Bash. Proteja dados críticos em nível de sistema de arquivos.
P: Como revogar autorização "Always"? R: Saia da sessão atual. "Always" só funciona dentro da sessão atual; novas sessões restauram permissões padrão.
P: Como unificar a configuração de permissões da equipe? R: Commite o CLAUDE.md e .claudeignore no git; membros da equipe compartilham automaticamente as mesmas regras de permissão.
📖 Resumo
- Padrão: Leitura automática, Escrita confirmada, Execução confirmada
- CLAUDE.md pode declarar regras de auto-aprovação e negação
--allowed-toolscontrola precisamente as ferramentas disponíveis.claudeignoreexclui arquivos sensíveis- O nível do projeto determina a rigidez das permissões: experimental flexível, produção estrito
📝 Exercícios
- Básico (⭐): Configure
.claudeignorepara excluir.env, verifique que o Claude Code não o lê mais. - Intermediário (⭐⭐): Escreva config de permissão para seu projeto distinguindo operações auto-permitidas vs que precisam de confirmação.
- Avançado (⭐⭐⭐): Desenhe estratégia de permissão em nível de equipe cobrindo cenários pessoal, equipe e produção.