> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Arquivo de configuração

> Referência completa do formato do arquivo de configuração do Devin CLI

O Devin CLI usa arquivos JSON (com suporte a comentários) para configuração. Esta página documenta todas as opções disponíveis.

***

<div id="file-locations">
  ## Localização dos arquivos
</div>

| 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) |

<Note>
  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`.
</Note>

***

<div id="full-config-reference">
  ## Referência completa da configuração
</div>

<Tabs>
  <Tab title="Configuração do usuário">
    ```json theme={null}
    // ~/.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

      // Atribuição de commits e PRs
      "attribution": true,            // Adicionar "Generated with Devin" / Co-Authored-By aos commits e PRs

      // 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
      }
    }
    ```
  </Tab>

  <Tab title="Configuração do projeto">
    ```json theme={null}
    // .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
      }
    }
    ```
  </Tab>
</Tabs>

***

<div id="options-reference">
  ## Referência de opções
</div>

<Note>
  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.
</Note>

### agent <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

| 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 <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

| 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)                     |

<div id="permissions">
  ### permissões
</div>

Consulte [Permissões](/pt-BR/cli/reference/permissions) para acessar a documentação completa.

```json theme={null}
{
  "permissions": {
    "allow": ["Read(**)", "Exec(git)"],
    "deny": ["Exec(sudo)"],
    "ask": ["Write(**/.env*)"]
  }
}
```

<div id="mcpservers">
  ### mcpServers
</div>

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](/pt-BR/cli/extensibility/mcp/configuration).

```json theme={null}
{
  "mcpServers": {
    "server-name": {
      "command": "executable",
      "args": ["arg1", "arg2"],
      "env": { "KEY": "value" }
    },
    "remote-server": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http"
    }
  }
}
```

### show\_path <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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 <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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 <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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 <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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 <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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                     |

### attribution <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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 linha `Generated with [Devin]` e um rodapé `Co-Authored-By: Devin`. Defina como `false` para omitir ambos, para que nenhuma atribuição do Devin seja adicionada.

| Valor   | Comportamento                                                                                       |
| ------- | --------------------------------------------------------------------------------------------------- |
| `true`  | Adiciona a linha `Generated with [Devin]` e o rodapé `Co-Authored-By` aos commits e às PRs (padrão) |
| `false` | Omite toda atribuição do Devin dos commits e das PRs                                                |

### auto\_update <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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` |

<div id="notify">
  ### notify
</div>

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                                  |

<div id="read_config_from">
  ### read\_config\_from
</div>

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 `.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 <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

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:**

```json theme={null}
{
  "proxy": {
    "mode": "manual",
    "url": "http://proxy.corp.example.com:8080",
    "no_proxy": "localhost,127.0.0.1,.internal.corp"
  }
}
```

**Exemplo — desativar o proxy:**

```json theme={null}
{
  "proxy": {
    "mode": "off"
  }
}
```

<div id="sandbox" />

### sandbox <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>

<Warning>
  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.
</Warning>

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.

<Note>
  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](/pt-BR/cli/sandbox).
</Note>

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.

<Note>
  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.
</Note>

| 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:**

```json theme={null}
{
  "sandbox": {
    "allowed_domains": [
      "github.com",
      "**.npmjs.org",
      "**.crates.io",
      "**.pypi.org"
    ],
    "denied_domains": ["evil.example.com"],
    "network_mode": "full"
  }
}
```

<Note>
  A filtragem de domínios se aplica quando o sandbox está ativo (`--sandbox`). Sem `--sandbox`, a seção de sandbox é ignorada.
</Note>

<Note>
  Para teams do Enterprise, administradores podem fazer override das listas de domínios em [Configurações da Team](/pt-BR/cli/enterprise/team-settings#sandbox-enforcement). 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).
</Note>

***

<div id="json-with-comments">
  ## JSON com comentários
</div>

Arquivos de configuração oferecem suporte a comentários no estilo JavaScript:

```json theme={null}
{
  // Comentários de linha
  "agent": {
    "model": "sonnet"  // Comentários inline
  },
  /* Comentários
     em bloco */
  "permissions": {}
}
```
