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 Smart, edições no workspace são aprovadas automaticamente como no modo Accept Edits, e todas as outras ações são avaliadas por um modelo rápido que só as executa automaticamente quando são claramente seguras. Todo o restante exige confirmação como de costume. Consulte o Modo Smart abaixo.
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 Smart
Shift+Tab, selecioná-lo no seletor de modo ou iniciá-lo:
- Instalações de pacotes (
npm install,pip install,cargo install,brew install, …) - Operações de
gitque modificam dados (subcomandos somente de leitura, comogit status, continuam elegíveis) rm,sudoe outros comandos destrutivos ou de escalonamento de privilégioskubectl deletee operações destrutivas em CLIs de nuvem (aws,gcloud,az,terraform, …)- Tudo que leia ou grave arquivos dotenv, material de chave, configurações do Git ou a própria configuração do agente
Suas próprias regras continuam tendo prioridade. O julgamento do Smart só se aplica quando nenhuma regra já determina a decisão. Portanto, uma regra
deny bloqueia a ação, e uma regra ask sempre solicita aprovação, exatamente como descrito em Como as permissões funcionam. As regras deny e ask no nível da organização também não são afetadas.O modo Smart está sendo disponibilizado gradualmente, portanto talvez ainda não apareça no seletor de modo ou no ciclo de
Shift+Tab.Modo Autonomous
--sandbox. Em termos conceituais, ele equivale mais ou menos a “Accept Edits 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, Smart e Bypass ficam ocultos em sessões com sandbox. O modo Plan continua disponível.
- Comandos de shell e requisições 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
Write(...)concedidos no meio da sessão expandem dinamicamente a sandbox para os comandos subsequentes. Aprovações deRead(...)no meio da sessão afetam apenas as próprias ferramentas do agente; caminhos ocultos por regras de negaçãoRead(...)permanecem ocultos durante toda a sessão.
--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, regras de negação 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
Os prompts de comando oferecem ambos os escopos explicitamente: “Sim, sempre permitir comandos
<cmd> em <project>” salva a permissão para o projeto atual, e “Sim, sempre permitir comandos <cmd> em todos os projetos” a salva na sua configuração de usuário para que se aplique em todos os lugares. Os prompts de busca na web para uma URL ou domínio específico adicionam uma opção equivalente de “Sim, sempre permitir todas as buscas na web”, que inclui as buscas na lista de permissões em uma única etapa.
Editando um Command Antes de Aprovar
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)

