Localização dos arquivos
No Windows, os caminhos dos arquivos de configuração do usuário são
%APPDATA%\devin\config.json e %APPDATA%\devin\mcp_config.json (por exemplo, C:\Users\<you>\AppData\Roaming\devin\config.json), não ~\.config\devin\.Os servidores MCP foram movidos para os arquivos dedicados
mcp_config.json na v3000.3 (versão Local 3.6). As versões mais antigas os armazenam na chave mcpServers dos arquivos de configuração principais; as versões mais recentes migram automaticamente, na inicialização, quaisquer entradas mcpServers encontradas ali. Consulte mcpServers.Referência completa da configuração
- Configuração do usuário
- Configuração do projeto
Referência de opções
As opções marcadas com apenas para o usuário só podem ser definidas na configuração do usuário (
~/.config/devin/config.json; %APPDATA%\devin\config.json no Windows). Apenas permissions, read_config_from e hooks estão disponíveis nas configurações de projeto. mcpServers também pode ser definido em ambos os níveis, mas fica nos arquivos dedicados mcp_config.json (consulte mcpServers).agent (apenas para o usuário)
theme_mode (apenas para o usuário)
permissões
mcpServers
~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json no Windows), .devin/mcp_config.json e .devin/mcp_config.local.json. Em versões anteriores, a chave mcpServers fica diretamente nos arquivos principais de configuração; versões mais recentes a migram automaticamente para os arquivos dedicados na inicialização.
show_path (apenas para o usuário)
Mostra o caminho do diretório de trabalho atual na borda do campo de entrada. Quando ativado, a borda superior do campo de entrada exibe seu CWD em um formato mais legível (por ex.~/projects/my-app).
unicode_mode (apenas para o usuário)
Controla se a UI do terminal usa símbolos Unicode ou alternativas seguras para ASCII. Defina como"ascii" se o terminal ou a fonte não renderizar corretamente os glifos Unicode (por exemplo, se o símbolo ⏺ aparecer como um quadrado).
show_hints (apenas para o usuário)
Exibe dicas ocasionais entre as interações (por exemplo, “Você sabia? Use /model para alternar entre os modelos disponíveis”). Útil para conhecer os recursos da CLI; defina comofalse para ocultá-las depois que já estiver familiarizado.
include_gitignored_files (apenas para o usuário)
Inclua arquivos ignorados pelo Git nos resultados de autocompletar da aba@. Quando ativado, arquivos que correspondem aos padrões de .gitignore aparecerão nas conclusões de menção com @. Isso é útil se você armazena documentação ou outros arquivos em diretórios ignorados pelo Git que deseja referenciar.
respect_gitignore (apenas para o usuário)
Controla se o agente respeita o.gitignore ao ler ou gravar arquivos por meio de ferramentas. Quando ativado, chamadas de ferramenta que acessam caminhos ignorados pelo Git são bloqueadas. Isso é separado de include_gitignored_files, que afeta apenas o preenchimento automático de @ na aba.
attribution (apenas para o usuário)
Controla se o agente adiciona atribuição do Devin aos commits e às pull requests que ele cria. Quando ativado, os corpos dos commits e das PRs incluem uma linhaGenerated with [Devin] e um rodapé Co-Authored-By: Devin. Defina como false para omitir ambos, para que nenhuma atribuição do Devin seja adicionada.
subagents_enabled (apenas para o usuário)
Controla se o agente pode delegar trabalho a subagentes. Quando desativada, as ferramentasrun_subagent e read_subagent são removidas, e o agente realiza todo o trabalho por conta própria. Essa configuração é aplicada em tempo real — uma sessão em execução a adota sem precisar ser reiniciada.
A política da organização tem precedência: se um administrador desativou os subagentes para sua organização (pela configuração Default subagent model), eles permanecerão desativados independentemente desta configuração.
keymap (apenas para o usuário)
Substitua os atalhos de teclado nativos da CLI. A seção consiste em uma tabela de contextos (global, editor, input, list, …), cada um associando nomes de ações às teclas que as acionam. As ações não listadas mantêm os padrões nativos.
Uma especificação de tecla é uma lista de modificadores separados por
- (ctrl, alt, shift), seguida de um nome de tecla (um caractere ou uma tecla nomeada, como enter, esc, tab, home, page-up, f5). A ordem dos modificadores não importa, e a correspondência não diferencia maiúsculas de minúsculas, exceto que um único caractere maiúsculo associa a tecla com Shift ("K" é o mesmo que "shift-k").
Não é possível remover a associação de
global.cancel (Ctrl+C), portanto você sempre pode interromper um agente em execução. Entradas inválidas, contextos ou ações desconhecidos e overrides que entrariam em conflito com outro atalho no mesmo contexto são informados na inicialização e usam o padrão nativo como alternativa.auto_update (apenas para o usuário)
Controla a atualização automática em segundo plano no macOS e no Linux. Quando ativada, novas versões são baixadas e aplicadas enquanto o Devin CLI está em execução, para que a próxima execução dedevin use automaticamente a versão mais recente. A sessão em execução no momento não é afetada — a troca do symlink current só entra em vigor na próxima inicialização.
A atualização foi projetada para ser segura contra interrupções: cada etapa no sistema de arquivos é preparada em um caminho temporário e promovida com uma renomeação atômica, e atualizações simultâneas são serializadas com um bloqueio de arquivo. Encerrar no meio da atualização não deixa a instalação em um estado corrompido — na próxima vez, ela simplesmente iniciará com a versão antiga.
Aplica-se apenas a instalações autogerenciadas (curl | bash no macOS/Linux). Instalações incluídas em outro produto (por exemplo, Windsurf) ignoram essa configuração e são atualizadas pelo aplicativo principal.
keymap (apenas para o usuário)
Substitua atalhos de teclado. As substituições são organizadas por contexto e, em seguida, por ação — o identificadorcontext.action exibido para cada atalho em /shortcuts (por exemplo, editor.insert_newline):
Os override substituem completamente os padrões nativos dessa ação; as ações não listadas mantêm seus padrões. Não é possível desassociar
Ctrl+C (cancelar). Entradas inválidas (nomes desconhecidos, especificações de tecla inválidas, valores com tipo incorreto ou override que entram em conflito com outra associação no mesmo contexto) são exibidas como avisos na inicialização e ignoradas — o restante da configuração ainda é aplicado.
Uma especificação de tecla consiste em zero ou mais modificadores separados por -, seguidos de um nome de tecla (por exemplo, ctrl-shift-p, alt-enter, f5, K). Modificadores: ctrl/control/c, alt/meta/option/opt/m, shift/s. Teclas nomeadas: enter, esc, tab, backspace, delete, insert, up, down, left, right, home, end, page-up, page-down, space, f1–f24. Qualquer outro caractere único associa a respectiva tecla (diferencia maiúsculas de minúsculas: K associa Shift+K); use - para a tecla de menos (ctrl--).
Você também pode reatribuir teclas interativamente: em /shortcuts, pressione Enter em uma linha de atalho e, em seguida, pressione a nova tecla — a alteração será salva nesta seção keymap. Consulte Personalização de associações de teclas.
notify
read_config_from
Defina como
false para desativar uma importação específica. null é tratado como true.
proxy (apenas para o usuário)
Configure como a CLI encaminha seu próprio tráfego HTTP/HTTPS de saída (chamadas à API, atualizações, servidores MCP etc.). Isso não afeta a rede dos processos filhos do sandbox (consultesandbox abaixo).
O campo mode define a estratégia de proxy:
Exemplo — proxy corporativo:
Os administradores podem definir o mesmo bloco
proxy no arquivo de configuração do sistema aplicável a toda a máquina. A configuração Enterprise tem precedência, e configurar um proxy em ambos os arquivos gera um erro — remova a seção proxy da sua configuração de usuário se ela for gerenciada pela sua organização.sandbox (apenas para o usuário)
Configure a filtragem de rede no nível de domínio para o sandbox. Quando--sandbox está ativo e a filtragem de domínio está configurada, um proxy de rede gerenciado é iniciado no loopback, e o sandbox restringe todo o tráfego dos processos filhos para passar por ele.
Para uma visão geral completa de como o sandbox funciona — incluindo a aplicação no Enterprise e como as configurações do Enterprise e do usuário interagem — consulte a documentação do Sandbox.
--sandbox aplica caminhos graváveis e regras de deny no nível do sistema operacional. As raízes graváveis são derivadas dos escopos Write(...) concedidos, além dos diretórios do workspace; todo o restante pode ser lido, exceto os caminhos ocultos por regras de deny de Read(...). Escopos Write(...) concedidos no meio da sessão expandem dinamicamente o sandbox para os comandos subsequentes.
Se
--sandbox for informado, mas a resolução do sandbox falhar (por exemplo, se as ferramentas de sandbox não estiverem disponíveis na plataforma atual), a CLI se recusará a iniciar em vez de executar sem sandbox. Esse comportamento de fail-closed garante que a intenção de segurança de --sandbox nunca seja ignorada silenciosamente.
Sintaxe de padrão de domínio:
Exemplo:
A filtragem de domínios se aplica quando o sandbox está ativo (
--sandbox). Sem --sandbox, a seção de sandbox é ignorada.Para teams do Enterprise, administradores podem fazer override das listas de domínios em Configurações da Team. As listas de permissões do Enterprise prevalecem (substituem seu
allowed_domains local), enquanto as listas de bloqueio do Enterprise são aditivas (mescladas com seu denied_domains local).
