Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
O Devin CLI usa arquivos JSON (com suporte a comentários) para configuração. Esta página documenta todas as opções disponíveis.
| Arquivo | Finalidade |
|---|
~/.config/devin/config.json | Configurações do usuário |
.devin/config.json | Configurações do projeto (versionadas) |
.devin/config.local.json | Overrides locais do projeto (ignorados pelo Git) |
No Windows, o caminho do arquivo de configuração do usuário é %APPDATA%\devin\config.json (por exemplo, C:\Users\<you>\AppData\Roaming\devin\config.json), não ~\.config\devin\config.json.
Referência completa da configuração
Configuração do usuário
Configuração do projeto
// ~/.config/devin/config.json
{
// Comportamento do agente
"agent": {
"model": "swe-1-6-fast", // Modelo padrão
"show_history_on_continue": true // Mostrar mensagens ao retomar
},
// Tema
"theme_mode": null, // "light", "dark", "terminal-dark", "terminal-light", "nocolor" ou null (automático)
// Permissões
"permissions": {
"allow": [],
"deny": [],
"ask": []
},
// Servidores MCP
"mcpServers": {},
// Exibição
"show_path": false, // Mostrar o CWD na borda do campo de entrada
"unicode_mode": "auto", // "auto", "unicode" ou "ascii"
"show_hints": true, // Mostrar dicas entre interações
// Completar arquivos
"include_gitignored_files": false, // Incluir arquivos ignorados pelo git nas conclusões com @
// Acesso a arquivos
"respect_gitignore": false, // Bloquear o acesso de ferramentas a caminhos ignorados pelo git
// Atualizações
"auto_update": true, // Instalar novas versões em segundo plano
// Notificações
"notify": "smart", // "never" | "smart" | "always" — notificações no terminal
// Configurações de proxy para o tráfego HTTP da CLI
"proxy": {
"mode": "system", // "system" | "manual" | "off"
"url": null, // URL do proxy (obrigatória no modo manual)
"no_proxy": null // Lista de exceções separada por vírgulas
},
// Filtragem de rede do sandbox
"sandbox": {
"allowed_domains": [], // Lista de permissões de domínios (vazio = sem filtragem)
"denied_domains": [], // Lista de bloqueio de domínios (tem precedência)
"network_mode": "full" // "full" ou "limited" (somente GET/HEAD/OPTIONS)
},
// Importar configurações de outras ferramentas
"read_config_from": {
"cursor": true,
"windsurf": true,
"claude": true
}
}
// .devin/config.json
{
// Permissões
"permissions": {
"allow": [],
"deny": [],
"ask": []
},
// Servidores MCP
"mcpServers": {},
// Importar configurações de outras ferramentas
"read_config_from": {
"cursor": true,
"windsurf": true,
"claude": true
}
}
As opções marcadas com User only só podem ser definidas na configuração do usuário (~/.config/devin/config.json; %APPDATA%\devin\config.json no Windows). Apenas permissions, mcpServers, read_config_from e hooks estão disponíveis nas configurações de projeto.
agent (apenas para o usuário)
| Opção | Tipo | Padrão | Descrição |
|---|
model | string | "swe-1-6-fast" | Modelo de IA padrão |
show_history_on_continue | boolean | true | Mostrar mensagens anteriores ao retomar uma sessão |
theme_mode (apenas para o usuário)
| Valor | Comportamento |
|---|
null | Detecção automática (pergunta na primeira execução) |
"light" | Tema claro |
"dark" | Tema escuro |
"terminal-dark" | Tema escuro quantizado em 16 cores ANSI (respeita o esquema de cores do terminal) |
"terminal-light" | Tema claro quantizado em 16 cores ANSI (respeita o esquema de cores do terminal) |
"nocolor" | Sem saída em cores (monocromático, útil para terminais VT100) |
Consulte Permissões para acessar a documentação completa.
{
"permissions": {
"allow": ["Read(**)", "Exec(git)"],
"deny": ["Exec(sudo)"],
"ask": ["Write(**/.env*)"]
}
}
Mapa de nomes de servidores para configurações de servidor. Oferece suporte a comandos locais (stdio) e servidores HTTP remotos. Consulte Configuração do MCP.
{
"mcpServers": {
"server-name": {
"command": "executable",
"args": ["arg1", "arg2"],
"env": { "KEY": "value" }
},
"remote-server": {
"url": "https://mcp.example.com/mcp",
"transport": "http"
}
}
}
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).
| Valor | Comportamento |
|---|
false | Oculto (padrão) |
true | Mostra o caminho do CWD na borda do campo de entrada |
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).
| Valor | Comportamento |
|---|
"auto" | Detecta o suporte a Unicode no ambiente (padrão) |
"unicode" | Sempre usa símbolos Unicode |
"ascii" | Sempre usa caracteres seguros para ASCII |
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 como false para ocultá-las depois que já estiver familiarizado.
| Valor | Comportamento |
|---|
true | Exibe dicas ocasionalmente (padrão) |
false | Nunca exibe dicas |
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.
| Valor | Comportamento |
|---|
false | Exclui arquivos ignorados pelo Git das conclusões (padrão) |
true | Inclui arquivos ignorados pelo Git nas conclusões com @ |
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.
| Valor | Comportamento |
|---|
false | O agente pode acessar todos os arquivos independentemente do .gitignore (padrão) |
true | Bloqueia o acesso de ferramentas a caminhos ignorados pelo Git |
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 de devin 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.
| Valor | Comportamento |
|---|
true | Baixa e instala novas versões em segundo plano (padrão) |
false | Apenas verifica se há novas versões; instale manualmente via /update |
Controla as notificações do terminal quando o agente termina ou precisa de entrada do usuário. A CLI grava um caractere BEL (aciona o sino do terminal / alerta visual), uma sequência de escape OSC 9 (aciona uma notificação do sistema no iTerm2 e em terminais compatíveis) e uma sequência OSC 777 (notificação na área de trabalho no rxvt-unicode e em outros terminais). Terminais que não reconhecem essas sequências simplesmente as ignoram com segurança.
| Valor | Comportamento |
|---|
"never" | Sem notificações |
"smart" | Notifica apenas quando a janela do terminal está fora de foco (usa relatórios de foco OSC) (padrão) |
"always" | Notifica em todos os eventos aplicáveis, independentemente do foco |
Controle a importação de configurações de outras ferramentas de IA:
| Opção | Tipo | Padrão | Descrição |
|---|
cursor | boolean/null | true | Importa de .cursorrules, .cursor/rules/ |
windsurf | boolean/null | true | Importa de .windsurf/rules/ |
claude | boolean/null | true | Importa de .claude/ |
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 (consulte sandbox abaixo).
O campo mode define a estratégia de proxy:
| Mode | Behavior |
|---|
"system" (default) | Respeita as variáveis de ambiente (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) e o PAC (Configuração Automática de Proxy) nativo da plataforma no macOS e no Windows |
"manual" | Encaminha todo o tráfego da CLI pela url especificada |
"off" | Conecta diretamente — sem proxy |
| Option | Type | Default | Description |
|---|
mode | string | "system" | Estratégia de proxy: "system", "manual" ou "off" |
url | string/null | null | URL do proxy. Obrigatória quando mode é "manual". Oferece suporte aos esquemas http://, https:// e socks5:// |
no_proxy | string/null | null | Lista de hosts/domínios separados por vírgula que ignoram o proxy. Usa a mesma sintaxe da variável de ambiente NO_PROXY (por exemplo, "localhost,127.0.0.1,.corp.example.com"). Aplica-se em qualquer modo |
Exemplo — proxy corporativo:
{
"proxy": {
"mode": "manual",
"url": "http://proxy.corp.example.com:8080",
"no_proxy": "localhost,127.0.0.1,.internal.corp"
}
}
Exemplo — desativar o proxy:
{
"proxy": {
"mode": "off"
}
}
sandbox (apenas para o usuário)
A filtragem de rede do sandbox está instável no momento. Se você precisar desse recurso, entre em contato com o representante da sua conta para saber os prazos de estabilização.
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.
A flag --sandbox aplica, no nível do sistema operacional, os escopos de permissão ativos de Read e Write. As raízes graváveis são derivadas dos escopos Write(...) concedidos, além dos diretórios do workspace; as raízes legíveis vêm dos escopos Read(...) (com os padrões da plataforma sempre legíveis). Escopos 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.
| Opção | Tipo | Padrão | Descrição |
|---|
allowed_domains | string[] | [] | Padrões de domínio permitidos pelo proxy. Quando não está vazio, apenas os domínios correspondentes são permitidos (modo de lista de permissões) |
denied_domains | string[] | [] | Padrões de domínio sempre bloqueados. Regras de bloqueio têm precedência sobre regras de permissão |
network_mode | string | "full" | "full" permite todos os métodos HTTP; "limited" permite apenas GET/HEAD/OPTIONS |
Sintaxe de padrão de domínio:
| Padrão | Corresponde a |
|---|
example.com | Apenas correspondência exata |
*.example.com | Qualquer subdomínio (não o raiz) |
**.example.com | Domínio raiz e qualquer subdomínio |
Exemplo:
{
"sandbox": {
"allowed_domains": [
"github.com",
"**.npmjs.org",
"**.crates.io",
"**.pypi.org"
],
"denied_domains": ["evil.example.com"],
"network_mode": "full"
}
}
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).
Arquivos de configuração oferecem suporte a comentários no estilo JavaScript:
{
// Comentários de linha
"agent": {
"model": "sonnet" // Comentários inline
},
/* Comentários
em bloco */
"permissions": {}
}