Comportamento padrão das permissões
No modo Normal (o padrão), operações somente leitura são aprovadas automaticamente, enquanto gravações em arquivos e comandos de shell exigem sua aprovação explícita. Cada vez que você aprova uma ação, pode escolher permiti-la uma vez, durante a sessão ou permanentemente para o projeto.
No modo Accept Edits, edições de arquivo dentro do workspace são aprovadas automaticamente, mas comandos de shell e gravações fora do workspace ainda exigem confirmação.
No modo Bypass, todas as chamadas de ferramenta são aprovadas automaticamente sem pedir confirmação.
No modo Autonomous, comandos de shell e requisições de rede são aprovados automaticamente porque o sandbox no nível do sistema operacional restringe o que eles podem acessar. Edições diretas de arquivo pelas ferramentas
edit/write ainda exigem confirmação, porque essas ferramentas operam fora do sandbox. Autonomous só está disponível quando o sandbox no nível do sistema operacional está ativo.
Modo Autonomous
--sandbox. Em termos conceituais, ele equivale mais ou menos a “Aceitar edições no workspace atual” mais a capacidade de executar qualquer comando de shell, com ambos os comportamentos contidos pela sandbox em nível de sistema operacional. Quando a sandbox está ativa:
- É o único modo de permissão disponível. Os modos Normal, Accept Edits e Bypass ficam ocultos em sessões com sandbox. O modo Plan continua disponível.
- Comandos de shell e fetches são aprovados automaticamente em vez de pedir confirmação, porque a sandbox impõe limites ao que eles podem ler, escrever e acessar pela rede.
- Edições diretas de arquivos com as ferramentas
editewriteainda pedem confirmação. Essas ferramentas são executadas dentro do processo da CLI, e não dentro da sandbox, então não podem ser delimitadas por ela. Conceder um escopoWrite(...)no prompt expande dinamicamente a sandbox para que os comandos de shell subsequentes possam escrever nesse local. - Escopos concedidos no meio da sessão expandem dinamicamente a sandbox para os comandos subsequentes.
--sandbox (que seleciona Autonomous) quando quiser execução sem supervisão, com limites de acesso ao sistema de arquivos e à rede impostos pelo sistema operacional. Consulte a referência de configuração do sandbox para mais detalhes sobre diretórios raiz graváveis/legíveis e filtragem de domínios, e Configurações da equipe → Aplicação do sandbox para controles do Enterprise.
Como as permissões funcionam
- Regras de negação — Verificadas primeiro. Se houver correspondência, a ação é bloqueada imediatamente.
- Regras de solicitação — Verificadas em segundo lugar. Se houver correspondência, você sempre precisará confirmar (faz override de qualquer regra de permissão).
- Regras de permissão — Verificadas por último. Se houver correspondência, a ação prossegue sem pedir confirmação.
- Padrão — Se nenhuma regra corresponder, sua aprovação será solicitada.
Como a negação é verificada antes da solicitação, e a solicitação é verificada antes da permissão, uma regra de negação sempre prevalece. Se o mesmo escopo corresponder tanto a uma regra de negação quanto a uma regra de solicitação, a regra de negação prevalecerá.
Configuração
permissions do seu arquivo de configuração:
No Windows, o caminho do arquivo de configuração do usuário é
%APPDATA%\devin\config.json (geralmente C:\Users\<you>\AppData\Roaming\devin\config.json) em vez de ~/.config/devin/config.json. Consulte Arquivo de configuração para mais detalhes.- Configuração do projeto
- Configuração do usuário
- Override local
Sintaxe de permissão
Permissões baseadas em escopo
Read(glob)
Read(glob)
Controla o acesso de leitura a arquivos. O padrão glob corresponde aos caminhos dos arquivos.Caminhos de diretório correspondem automaticamente a todos os arquivos dentro deles.
Write(glob)
Write(glob)
Controla o acesso de gravação/edição de arquivos.
Exec(prefix)
Exec(prefix)
Controla a execução de comandos de shell. Corresponde a comandos que começam com o prefixo fornecido.
Exec(git) corresponde a “git”, “git status”, “git commit -m ‘msg’”, mas NÃO a “gitk” nem “github-cli”. O prefixo deve corresponder a uma palavra completa.Fetch(pattern)
Fetch(pattern)
Controla o acesso a fetch HTTP usando padrões de URL.Os padrões de URL seguem o padrão WHATWG URL Pattern. A forma abreviada
domain: corresponde a qualquer caminho no domínio exato.Permissões por ferramenta
read, edit, grep, glob, exec
Permissões das ferramentas do MCP
Padrões de caminho
Read() e Write() aceitam:
Exemplos:
Use um prefixo de caminho absoluto (por exemplo,
Read(/**)) quando quiser corresponder a todos os arquivos do sistema. Um Read(**) sem uma / inicial é resolvido em relação ao diretório de trabalho atual, então corresponde apenas aos arquivos nesse diretório — não aos arquivos acessados por caminhos absolutos em outros locais.Opções de persistência
Permissões no nível do servidor MCP
list_issues no servidor Figma), o prompt de permissão também oferece opções mais amplas no nível do servidor:
Isso permite conceder rapidamente acesso amplo a um servidor MCP confiável sem precisar aprovar cada ferramenta individualmente.
Precedência
- Configurações da organização/equipe (se Enterprise)
- Permissões concedidas no nível da sessão (aprovações interativas)
- Configuração local do projeto (
.devin/config.local.json) - Configuração do projeto (
.devin/config.json) - Configuração do usuário (
~/.config/devin/config.json;%APPDATA%\devin\config.jsonno Windows)

