> ## 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, incluindo todas as opções de usuário e de projeto, como permissions, proxy, sandbox e read_config_from.

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

***

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

| 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) |
| `~/.config/devin/mcp_config.json` | Servidores MCP do usuário |
| `.devin/mcp_config.json` | Servidores MCP do projeto (versionados) |
| `.devin/mcp_config.local.json` | Servidores MCP locais do projeto (ignorados pelo Git) |
| [Arquivo de política do sistema](/pt-BR/cli/enterprise/system-config) | Configurações de toda a máquina gerenciadas pelo administrador (`system.json`) |

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

<Note>
  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](#mcpservers).
</Note>

***

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

<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
        "subagent_model": "swe-1-6-fast",  // Modelo para subagentes
        "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": []
      },

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

      // Preenchimento automático de arquivos
      "include_gitignored_files": false, // Incluir arquivos ignorados pelo git nos preenchimentos automáticos 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

      // Subagentes
      "subagents_enabled": true,      // Permitir que o agente gere subagentes

      // Overrides de atalhos de teclado, organizadas por contexto e depois ação
      "keymap": {
        "global": { "clear_screen": "ctrl-shift-k" }
      },

      // Atualizações
      "auto_update": true,            // Instalar novas versões em segundo plano

      // Overrides de atalhos de teclado (contexto -> ação -> especificação(ões) de tecla)
      "keymap": {},

      // 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": {
        "agents_standard": true,
        "cursor": true,
        "windsurf": true,
        "claude": true,
        "copilot": true,
        "opencode": true,
        "zed": true
      }
    }
    ```
  </Tab>

  <Tab title="Configuração do projeto">
    ```json theme={null}
    // .devin/config.json
    {
      // Permissões
      "permissions": {
        "allow": [],
        "deny": [],
        "ask": []
      },

      // Importar configurações de outras ferramentas
      "read_config_from": {
        "agents_standard": true,
        "cursor": true,
        "windsurf": true,
        "claude": true,
        "copilot": true,
        "opencode": true,
        "zed": true
      }
    }
    ```
  </Tab>
</Tabs>

***

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

<Note>
  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](#mcpservers)).
</Note>

<h3 id="agent-user-only">
  agent <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

| Opção | Tipo | Padrão | Descrição |
| - | - | - | - |
| `model` | string | `"swe-1-6-fast"` | Modelo de IA padrão |
| `subagent_model` | string | não definido | Modelo para subagentes, usado no lugar do [Default subagent model](/pt-BR/cli/subagents#which-model-does-a-subagent-use) da sua equipe. Precisa ser um modelo permitido pela sua equipe |
| `show_history_on_continue` | boolean | `true` | Mostrar mensagens anteriores ao retomar uma sessão |

<h3 id="theme_mode-user-only">
  theme\_mode <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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

<h3 id="permissions">
  permissões
</h3>

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*)"]
  }
}
```

<h3 id="mcpservers">
  mcpServers
</h3>

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

Desde a v3000.3 (a release Local 3.6), os servidores MCP ficam em arquivos dedicados: `~/.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.

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

<h3 id="show_path-user-only">
  show\_path <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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 |

<h3 id="unicode_mode-user-only">
  unicode\_mode <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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 |

<h3 id="show_hints-user-only">
  show\_hints <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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 |

<h3 id="include_gitignored_files-user-only">
  include\_gitignored\_files <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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

<h3 id="respect_gitignore-user-only">
  respect\_gitignore <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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 |

<h3 id="attribution-user-only">
  attribution <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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 |

<div id="subagents_enabled" />

<h3 id="subagents_enabled-user-only">
  subagents\_enabled <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

Controla se o agente pode delegar trabalho a [subagentes](/pt-BR/cli/subagents). Quando desativada, as ferramentas `run_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.

| Valor | Comportamento |
| - | - |
| `true` | O agente pode gerar subagentes (padrão) |
| `false` | Os subagentes são desativados para este usuário |

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

<div id="keymap" />

<h3 id="keymap-user-only">
  keymap <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

Substitua os [atalhos de teclado](/pt-BR/cli/reference/keyboard-shortcuts) 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.

```json theme={null}
{
  "keymap": {
    "global": {
      "clear_screen": "ctrl-shift-k",
      "history_search": ["ctrl-r", "f3"]
    },
    "editor": {
      "beginning_of_line": "home"
    }
  }
}
```

| Valor | Significado |
| - | - |
| `"ctrl-shift-k"` | Uma única especificação de tecla associada à ação |
| `["ctrl-r", "f3"]` | Várias especificações de tecla; qualquer uma delas aciona a ação |
| `[]` | Remove a associação da ação |

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"`).

<Tip>
  Execute `/shortcuts` para ver todas as ações com seus identificadores `context.action` — os mesmos identificadores usados aqui — e reatribuir atalhos interativamente. As associações definidas ali são salvas nesta seção.
</Tip>

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

<h3 id="auto_update-user-only">
  auto\_update <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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

<h3 id="keymap-user-only-2">
  keymap <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

Substitua atalhos de teclado. As substituições são organizadas por contexto e, em seguida, por ação — o identificador `context.action` exibido para cada atalho em `/shortcuts` (por exemplo, `editor.insert_newline`):

```json theme={null}
{
  "keymap": {
    "global": {
      "clear_screen": "ctrl-shift-k",
      "history_search": ["ctrl-r", "f5"],
      "feedback_up": []
    },
    "editor": {
      "insert_newline": ["shift-enter", "alt-enter", "ctrl-j"]
    }
  }
}
```

| Valor | Comportamento |
| - | - |
| `"<spec>"` | Associa a ação a uma única tecla |
| `["<spec>", ...]` | Associa a ação a várias teclas (todas a acionam) |
| `[]` | Desassocia a ação |

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](/pt-BR/cli/reference/keyboard-shortcuts#customizing-keybindings).

<h3 id="notify">
  notify
</h3>

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 |

<h3 id="read_config_from">
  read\_config\_from
</h3>

Controla a importação de configurações de outras ferramentas de IA. Consulte [Configuration Import](/pt-BR/cli/reference/configuration/read-config-from) para ver exatamente quais arquivos de origem cada opção lê.

| Opção | Tipo | Padrão | Descrição |
| - | - | - | - |
| `agents_standard` | boolean/null | `true` | Importa as regras padrão de projeto de `AGENTS.md`, `AGENTS.local.md`, `AGENT.md` e `.windsurfrules` |
| `cursor` | boolean/null | `true` | Importa regras e servidores MCP dos arquivos de configuração do Cursor |
| `windsurf` | boolean/null | `true` | Importa regras, skills e servidores MCP do Windsurf |
| `claude` | boolean/null | `true` | Importa regras, skills, comandos e servidores MCP do Claude Code |
| `copilot` | boolean/null | `true` | Importa skills dos diretórios de skills globais e de projeto do GitHub Copilot |
| `opencode` | boolean/null | `true` | Importa servidores MCP dos arquivos de configuração do OpenCode |
| `zed` | boolean/null | `true` | Importa servidores MCP dos arquivos de configurações do Zed |

Defina como `false` para desativar uma importação específica. `null` é tratado como `true`.

<h3 id="proxy-user-only">
  proxy <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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

<Note>
  Os administradores podem definir o mesmo bloco `proxy` no [arquivo de configuração do sistema](/pt-BR/cli/enterprise/system-config) 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.
</Note>

<div id="sandbox" />

<h3 id="sandbox-user-only">
  sandbox <span style={{fontSize: '0.7em', color: 'gray'}}>(apenas para o usuário)</span>
</h3>

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

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

***

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

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": {}
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.