SpyBara
Go Premium

Documentation 2026-09-09 22:58 UTC to 2026-09-10 23:00 UTC

18 files changed +138 −104. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sun 13 21:00 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02
Details

91<Warning>91<Warning>

92 **Ferramentas auto-aprovadas nunca chegam a `canUseTool`.** Uma chamada de ferramenta aprovada em qualquer etapa anterior, por `acceptEdits` ou `bypassPermissions`, ou por uma regra de permitir, ignora seu callback `canUseTool`, portanto verificações de permissão que você coloca lá são silenciosamente contornadas para essa ferramenta. `AskUserQuestion`, ferramentas MCP marcadas [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool), ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools), e remoções de `rm` e `rmdir` direcionadas a um [caminho crítico](/docs/pt/permission-modes#critical-paths) ainda chegam ao callback, mesmo quando uma regra de permitir corresponde. No modo `auto`, remoções de caminho crítico vão para o [classificador](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em vez do callback, enquanto as outras chamadas listadas aqui ainda chegam a ele; o roteamento do classificador requer Claude Code v2.1.218 ou posterior. No modo `dontAsk` essas chamadas são negadas em vez disso, sem invocar o callback.92 **Ferramentas auto-aprovadas nunca chegam a `canUseTool`.** Uma chamada de ferramenta aprovada em qualquer etapa anterior, por `acceptEdits` ou `bypassPermissions`, ou por uma regra de permitir, ignora seu callback `canUseTool`, portanto verificações de permissão que você coloca lá são silenciosamente contornadas para essa ferramenta. `AskUserQuestion`, ferramentas MCP marcadas [`_meta["anthropic/requiresUserInteraction"]`](/docs/pt/mcp#require-approval-for-a-specific-tool), ferramentas de conector [que sua organização definiu como `ask`](/docs/pt/mcp#organization-controls-on-connector-tools), e remoções de `rm` e `rmdir` direcionadas a um [caminho crítico](/docs/pt/permission-modes#critical-paths) ainda chegam ao callback, mesmo quando uma regra de permitir corresponde. No modo `auto`, remoções de caminho crítico vão para o [classificador](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode) em vez do callback, enquanto as outras chamadas listadas aqui ainda chegam a ele; o roteamento do classificador requer Claude Code v2.1.218 ou posterior. No modo `dontAsk` essas chamadas são negadas em vez disso, sem invocar o callback.

93 93 

94 A cobertura depende da forma da entrada: um nome simples como `Read` ou `mcp__github__get_issue` auto-aprova todas as chamadas para essa ferramenta além das exceções acima, enquanto uma regra com escopo como `Bash(ls *)` auto-aprova apenas chamadas correspondentes e outras chamadas de `Bash` ainda passam para o callback. Para verificações que devem ser executadas em todas as chamadas de ferramenta, use um hook [`PreToolUse`](/docs/pt/agent-sdk/hooks): hooks são executados antes de qualquer outra etapa, e uma negação de hook se aplica mesmo no modo `bypassPermissions`.94 A cobertura depende da forma da entrada: um nome simples como `Read` ou `mcp__github__get_issue` auto-aprova todas as chamadas para essa ferramenta, exceto as exceções acima, enquanto uma regra com escopo como `Bash(ls *)` auto-aprova apenas chamadas correspondentes e outras chamadas de `Bash` ainda passam para o callback. Para verificações que devem ser executadas em todas as chamadas de ferramenta, use um hook [`PreToolUse`](/docs/pt/agent-sdk/hooks): hooks são executados antes de qualquer outra etapa, e uma negação de hook se aplica mesmo no modo `bypassPermissions`.

95</Warning>95</Warning>

96 96 

97Para um agente bloqueado, combine `allowedTools` com `permissionMode: "dontAsk"`. Ferramentas listadas são aprovadas, além das ferramentas que sempre solicitam no Aviso acima; qualquer outra coisa é negada completamente em vez de solicitar:97Para um agente bloqueado, combine `allowedTools` com `permissionMode: "dontAsk"`. Ferramentas listadas são aprovadas, exceto as ferramentas que sempre solicitam no Aviso acima; qualquer outra coisa é negada completamente em vez de solicitar:

98 98 

99```typescript theme={null}99```typescript theme={null}

100const options = {100const options = {

Details

3166<Note>3166<Note>

3167 No Python Agent SDK 0.2.139 e posterior, a seguinte restrição se aplica.3167 No Python Agent SDK 0.2.139 e posterior, a seguinte restrição se aplica.

3168 3168 

3169 The following tools aren't available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, or later versions of those families unless you opt in:3169 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

3170 3170 

3171 * `TodoWrite`3171 * `TodoWrite`

3172 * `TaskCreate`3172 * `TaskCreate`


3174 * `TaskUpdate`3174 * `TaskUpdate`

3175 * `TaskList`3175 * `TaskList`

3176 3176 

3177 On other models, Claude Code provides the Task tools by default and `TodoWrite` only when you set `CLAUDE_CODE_ENABLE_TASKS=0`.3177 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

3178 

3179 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

3178 3180 

3179 Veja [Disponibilidade de modelo](/docs/pt/agent-sdk/todo-tracking#model-availability) para optar por participar.3181 Veja [Disponibilidade de modelo](/docs/pt/agent-sdk/todo-tracking#model-availability) para optar por participar.

3180</Note>3182</Note>

Details

17<Note>17<Note>

18 No TypeScript Agent SDK 0.3.233 e posterior, ou Python Agent SDK 0.2.139 e posterior, a seguinte restrição se aplica.18 No TypeScript Agent SDK 0.3.233 e posterior, ou Python Agent SDK 0.2.139 e posterior, a seguinte restrição se aplica.

19 19 

20 The following tools aren't available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, or later versions of those families unless you opt in:20 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

21 21 

22 * `TodoWrite`22 * `TodoWrite`

23 * `TaskCreate`23 * `TaskCreate`


25 * `TaskUpdate`25 * `TaskUpdate`

26 * `TaskList`26 * `TaskList`

27 27 

28 On other models, Claude Code provides the Task tools by default and `TodoWrite` only when you set `CLAUDE_CODE_ENABLE_TASKS=0`.28 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

29 

30 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

29</Note>31</Note>

30 32 

31Nos modelos listados, a menos que você opte por uma sessão, você não vê blocos `tool_use` para as ferramentas no fluxo de mensagens. O Agent SDK aplica esses padrões através do binário Claude Code que ele agrupa. Se você apontar `pathToClaudeCodeExecutable` (TypeScript) ou `cli_path` (Python) para sua própria instalação do Claude Code, você obtém quaisquer ferramentas que essa instalação fornece, sob seus próprios padrões. Para ver o conjunto exato em uma sessão em execução, [verifique quais ferramentas estão disponíveis](/docs/pt/tools-reference#check-which-tools-are-available). Para optar por uma sessão, faça um dos seguintes:33Nos modelos listados, a menos que você opte por uma sessão, você não vê blocos `tool_use` para as ferramentas no fluxo de mensagens. O Agent SDK aplica esses padrões através do binário Claude Code que ele agrupa. Se você apontar `pathToClaudeCodeExecutable` (TypeScript) ou `cli_path` (Python) para sua própria instalação do Claude Code, você obtém quaisquer ferramentas que essa instalação fornece, sob seus próprios padrões. Para ver o conjunto exato em uma sessão em execução, [verifique quais ferramentas estão disponíveis](/docs/pt/tools-reference#check-which-tools-are-available). Para optar por uma sessão, faça um dos seguintes:

Details

3104<Note>3104<Note>

3105 No TypeScript Agent SDK 0.3.233 e posterior, a seguinte restrição se aplica.3105 No TypeScript Agent SDK 0.3.233 e posterior, a seguinte restrição se aplica.

3106 3106 

3107 The following tools aren't available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, or later versions of those families unless you opt in:3107 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

3108 3108 

3109 * `TodoWrite`3109 * `TodoWrite`

3110 * `TaskCreate`3110 * `TaskCreate`


3112 * `TaskUpdate`3112 * `TaskUpdate`

3113 * `TaskList`3113 * `TaskList`

3114 3114 

3115 On other models, Claude Code provides the Task tools by default and `TodoWrite` only when you set `CLAUDE_CODE_ENABLE_TASKS=0`.3115 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

3116 

3117 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

3116 3118 

3117 Veja [Disponibilidade de modelo](/docs/pt/agent-sdk/todo-tracking#model-availability) para optar por participar.3119 Veja [Disponibilidade de modelo](/docs/pt/agent-sdk/todo-tracking#model-availability) para optar por participar.

3118</Note>3120</Note>


4142<Note>4144<Note>

4143 No TypeScript Agent SDK 0.3.233 e posterior, a seguinte restrição se aplica.4145 No TypeScript Agent SDK 0.3.233 e posterior, a seguinte restrição se aplica.

4144 4146 

4145 The following tools aren't available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, or later versions of those families unless you opt in:4147 The following tools are available by default only on Claude 3.x models, Opus 4 through 4.7, Sonnet 4 through 4.6, and Haiku 4.5. On every other model, including model IDs Claude Code doesn't recognize, they aren't available unless you opt in:

4146 4148 

4147 * `TodoWrite`4149 * `TodoWrite`

4148 * `TaskCreate`4150 * `TaskCreate`


4150 * `TaskUpdate`4152 * `TaskUpdate`

4151 * `TaskList`4153 * `TaskList`

4152 4154 

4153 On other models, Claude Code provides the Task tools by default and `TodoWrite` only when you set `CLAUDE_CODE_ENABLE_TASKS=0`.4155 Wherever the tools are available, Claude Code provides the four Task tools, or `TodoWrite` instead when you set `CLAUDE_CODE_ENABLE_TASKS=0`.

4156 

4157 This default set applies in Claude Code v2.1.268 and later, which the TypeScript Agent SDK bundles from v0.3.268.

4154 4158 

4155 Veja [Disponibilidade de modelo](/docs/pt/agent-sdk/todo-tracking#model-availability) para optar por participar.4159 Veja [Disponibilidade de modelo](/docs/pt/agent-sdk/todo-tracking#model-availability) para optar por participar.

4156</Note>4160</Note>

Details

17Claude Code offers three ways to schedule recurring or one-off work:17Claude Code offers three ways to schedule recurring or one-off work:

18 18 

19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |

20| :------------------------- | :---------------------------------- | :------------------------------------- | :---------------------------------- |20| :------------------------- | :---------------------------------- | :------------------------------------- | :------------------------------------------------------------------------- |

21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |

22| Requires machine on | No | Yes | Yes |22| Requires machine on | No | Yes | Yes |

23| Requires open session | No | No | Yes |23| Requires open session | No | No | Yes |

24| Persistent across restarts | Yes | Yes | Restored on `--resume` if unexpired |24| Persistent across restarts | Yes | Yes | Restored on `--resume`, with [exceptions](/docs/en/scheduled-tasks#limitations) |

25| Access to local files | No (fresh clone) | Yes | Yes |25| Access to local files | No (fresh clone) | Yes | Yes |

26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |

27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |

output-styles.md +18 −14

Details

6 6 

7> Adapte Claude Code para usos além da engenharia de software7> Adapte Claude Code para usos além da engenharia de software

8 8 

9Os estilos de saída alteram como Claude responde, não o que Claude sabe. Eles modificam o prompt do sistema para definir papel, tom e formato de saída. Use um quando você continua re-solicitando a mesma voz ou formato a cada turno, ou quando você quer que Claude atue como algo diferente de um engenheiro de software.9Os estilos de saída alteram como Claude responde, não o que Claude sabe. Eles definem o papel, tom e formato de saída do Claude para cada resposta. Use um quando você continua re-solicitando a mesma voz ou formato a cada turno, ou quando você quer que Claude atue como algo diferente de um engenheiro de software.

10 10 

11Um estilo de saída personalizado adiciona suas instruções ao prompt do sistema e permite que você escolha se deseja manter as instruções integradas de engenharia de software do Claude Code. Mantenha-as quando você está mudando como Claude se comunica, mas ainda está codificando, como sempre responder com um diagrama. Deixe-as de fora quando Claude não está fazendo engenharia de software, como um assistente de redação ou analista de dados.11Um estilo de saída personalizado fornece ao Claude suas próprias instruções e permite que você escolha se deseja manter as instruções integradas de engenharia de software do Claude Code. Mantenha-as quando você está mudando como Claude se comunica, mas ainda está codificando, como sempre responder com um diagrama. Deixe-as de fora quando Claude não está fazendo engenharia de software, como um assistente de redação ou analista de dados.

12 12 

13Para instruções sobre seu projeto, convenções ou base de código, use [CLAUDE.md](/docs/pt/memory) em vez disso.13Para instruções sobre seu projeto, convenções ou base de código, use [CLAUDE.md](/docs/pt/memory) em vez disso.

14 14 


16 Estilos de saída integrados16 Estilos de saída integrados

17</h2>17</h2>

18 18 

19O estilo de saída **Default** do Claude Code é o prompt do sistema existente, projetado para ajudá-lo a completar tarefas de engenharia de software com eficiência.19O estilo de saída **Default** do Claude Code é seu conjunto padrão de instruções, projetado para ajudá-lo a completar tarefas de engenharia de software com eficiência.

20 20 

21Existem quatro estilos de saída integrados adicionais:21Existem quatro estilos de saída integrados adicionais:

22 22 


36 36 

37* **Terminal**: execute `/config` e selecione **Output style** para escolher um estilo de um menu. Claude Code salva sua seleção em `.claude/settings.local.json` no [nível do projeto local](/docs/pt/settings).37* **Terminal**: execute `/config` e selecione **Output style** para escolher um estilo de um menu. Claude Code salva sua seleção em `.claude/settings.local.json` no [nível do projeto local](/docs/pt/settings).

38* **Extensão VS Code**: abra o [menu de comandos](/docs/pt/vs-code#use-the-prompt-box) com `/` e selecione **Output styles** para escolher um estilo, incluindo seus estilos personalizados. Claude Code salva sua seleção em `.claude/settings.local.json`, o mesmo arquivo que o menu do terminal escreve. Requer Claude Code v2.1.257 ou posterior.38* **Extensão VS Code**: abra o [menu de comandos](/docs/pt/vs-code#use-the-prompt-box) com `/` e selecione **Output styles** para escolher um estilo, incluindo seus estilos personalizados. Claude Code salva sua seleção em `.claude/settings.local.json`, o mesmo arquivo que o menu do terminal escreve. Requer Claude Code v2.1.257 ou posterior.

39* **Aplicativo Desktop**: defina o campo `outputStyle` em um arquivo de configurações, por exemplo `.claude/settings.local.json`, o arquivo que o menu do terminal escreve. Quando você executa `/config` lá, Claude Code [abre **Settings > Claude Code**](/docs/pt/desktop#what's-not-available-in-desktop) em vez de um menu.39* **Aplicativo Desktop**: defina o campo `outputStyle` em um arquivo de configurações, por exemplo `.claude/settings.local.json`, o arquivo que o menu do terminal escreve. Quando você executa `/config` lá, Claude Code [abre **Settings > Claude Code**](/docs/pt/desktop#what%E2%80%99s-not-available-in-desktop) em vez de um menu.

40 40 

41<Note>O comando `/output-style` independente foi descontinuado na v2.1.73 e removido na v2.1.91. Use `/config` ou edite a configuração `outputStyle` diretamente.</Note>41<Note>O comando `/output-style` independente foi descontinuado na v2.1.73 e removido na v2.1.91. Use `/config` ou edite a configuração `outputStyle` diretamente.</Note>

42 42 


48}48}

49```49```

50 50 

51Quando você alterna estilos no meio da sessão, Claude usa o novo estilo a partir da sua próxima mensagem. O estilo faz parte do prompt do sistema, portanto essa primeira mensagem reconstrói o [cache de prompt](/docs/pt/prompt-caching#changing-output-style) uma vez. Antes da v2.1.251, o novo estilo era aplicado apenas após você executar `/clear` ou iniciar uma nova sessão.51Quando você alterna estilos no meio da sessão, Claude usa o novo estilo a partir da sua próxima mensagem. Para o custo dessa primeira mensagem em cache de prompt, consulte [Alterando estilo de saída](/docs/pt/prompt-caching#changing-output-style). Antes da v2.1.251, o novo estilo era aplicado apenas após você executar `/clear` ou iniciar uma nova sessão.

52 52 

53<h2 id="create-a-custom-output-style">53<h2 id="create-a-custom-output-style">

54 Crie um estilo de saída personalizado54 Crie um estilo de saída personalizado

55</h2>55</h2>

56 56 

57Um estilo de saída personalizado é um arquivo Markdown: frontmatter para metadados, depois as instruções a adicionar ao prompt do sistema. Na extensão VS Code, você também pode criar o arquivo a partir do [menu **Output styles**](/docs/pt/vs-code#use-the-prompt-box) em vez de escrevê-lo manualmente. Isso requer Claude Code v2.1.261 ou posterior.57Um estilo de saída personalizado é um arquivo Markdown: frontmatter para metadados, depois as instruções para Claude.

58 

59Na extensão VS Code, você também pode criar o arquivo a partir do [menu **Output styles**](/docs/pt/vs-code#use-the-prompt-box) em vez de escrevê-lo manualmente. Isso requer Claude Code v2.1.261 ou posterior.

58 60 

59<Steps>61<Steps>

60 <Step title="Crie um arquivo Markdown">62 <Step title="Crie um arquivo Markdown">


111 Como os estilos de saída funcionam113 Como os estilos de saída funcionam

112</h2>114</h2>

113 115 

114Os estilos de saída modificam diretamente o prompt do sistema do Claude Code.116Um estilo de saída altera as instruções que Claude Code fornece ao Claude.

115 117 

116* Claude Code adiciona as instruções personalizadas do estilo de saída ao prompt do sistema.118* Claude Code envia as instruções do estilo ativo com cada solicitação.

117* Quando você [seleciona um estilo diferente de Default](#change-your-output-style), Claude Code também lembra Claude do estilo durante a conversa.119* Quando você [seleciona um estilo diferente de Default](#change-your-output-style), Claude Code também lembra Claude do estilo durante a conversa.

118* Os estilos de saída personalizados deixam de fora as instruções integradas de engenharia de software do Claude Code, como como escopar mudanças, escrever comentários e verificar trabalho, a menos que `keep-coding-instructions` seja definido como `true`.120* Os estilos de saída personalizados deixam de fora as instruções integradas de engenharia de software do Claude Code, como como escopar mudanças, escrever comentários e verificar trabalho, a menos que `keep-coding-instructions` seja definido como `true`.

119 121 

120Os estilos de saída se aplicam apenas à conversa principal: um [subagent executa seu próprio prompt do sistema](/docs/pt/sub-agents#what-loads-at-startup), portanto os estilos não alteram como os subagents respondem. Um [fork](/docs/pt/sub-agents#fork-the-current-conversation) é a exceção, porque herda o prompt do sistema completo do pai.122Os estilos de saída se aplicam à conversa principal e a um [fork](/docs/pt/sub-agents#fork-the-current-conversation), que herda a conversa completa e o prompt do sistema do pai. Outros [subagents executam seu próprio prompt do sistema](/docs/pt/sub-agents#what-loads-at-startup), portanto os estilos não alteram como eles respondem.

123 

124O uso de tokens depende do estilo. As instruções de um estilo adicionam tokens de entrada, embora o prompt caching reduza esse custo após a primeira solicitação em uma sessão.

121 125 

122O uso de tokens depende do estilo. Adicionar instruções ao prompt do sistema aumenta os tokens de entrada, embora o prompt caching reduza esse custo após a primeira solicitação em uma sessão. Os estilos integrados Explanatory e Learning produzem respostas mais longas que Default por design, o que aumenta os tokens de saída, e o estilo Concise faz o oposto ao instruir Claude a manter as respostas curtas por padrão. Para estilos personalizados, o uso de tokens de saída depende do que suas instruções dizem ao Claude para produzir.126Os estilos integrados Explanatory e Learning produzem respostas mais longas que Default por design, o que aumenta os tokens de saída. O estilo Concise faz o oposto ao instruir Claude a manter as respostas curtas por padrão. Para estilos personalizados, o uso de tokens de saída depende do que suas instruções dizem ao Claude para produzir.

123 127 

124<h2 id="comparisons-to-related-features">128<h2 id="comparisons-to-related-features">

125 Comparações com recursos relacionados129 Comparações com recursos relacionados

126</h2>130</h2>

127 131 

128Vários recursos personalizam como Claude Code se comporta. Os estilos de saída modificam o prompt do sistema diretamente e se aplicam a cada resposta. Os outros adicionam instruções sem alterar o prompt do sistema padrão, ou os limitam a uma tarefa específica.132Vários recursos personalizam como Claude Code se comporta. Os estilos de saída modificam as instruções padrão do Claude Code e se aplicam a cada resposta. Os outros adicionam instruções sem alterar os padrões, ou os limitam a uma tarefa específica.

129 133 

130| Recurso | Como funciona | Use-o quando |134| Recurso | Como funciona | Use-o quando |

131| :----------------------- | :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------- |135| :----------------------- | :--------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |

132| Estilos de saída | Modifica o prompt do sistema | Você quer um papel, tom ou formato de resposta padrão diferente a cada turno |136| Estilos de saída | Modifica as instruções padrão do Claude Code | Você quer um papel, tom ou formato de resposta padrão diferente a cada turno |

133| [CLAUDE.md](/docs/pt/memory) | Adiciona uma mensagem do usuário após o prompt do sistema | Claude deve sempre saber suas convenções de projeto e contexto da base de código |137| [CLAUDE.md](/docs/pt/memory) | Adiciona uma mensagem do usuário após o prompt do sistema | Claude deve sempre saber suas convenções de projeto e contexto da base de código |

134| `--append-system-prompt` | Anexa ao prompt do sistema sem remover nada | Você quer uma adição única para uma única invocação |138| `--append-system-prompt` | Anexa ao prompt do sistema sem remover nada | Você quer uma adição única passada como um [sinalizador CLI](/docs/pt/cli-reference#system-prompt-flags) no lançamento |

135| [Agents](/docs/pt/sub-agents) | Executa um subagente com seu próprio prompt do sistema, modelo e ferramentas | Você quer um auxiliar com escopo separado para uma tarefa focada |139| [Agents](/docs/pt/sub-agents) | Executa um subagente com seu próprio prompt do sistema, modelo e ferramentas | Você quer um auxiliar com escopo separado para uma tarefa focada |

136| [Skills](/docs/pt/skills) | Carrega instruções específicas de tarefas quando invocadas ou relevantes | Você tem um fluxo de trabalho reutilizável |140| [Skills](/docs/pt/skills) | Carrega instruções específicas de tarefas quando invocadas ou relevantes | Você tem um fluxo de trabalho reutilizável |

137 141 

overview.md +5 −5

Details

24 <Tab title="Native Install (Recommended)">24 <Tab title="Native Install (Recommended)">

25 **macOS, Linux, WSL:**25 **macOS, Linux, WSL:**

26 26 

27 ```bash theme={null} theme={null} theme={null} theme={null}27 ```bash theme={null}

28 curl -fsSL https://claude.ai/install.sh | bash28 curl -fsSL https://claude.ai/install.sh | bash

29 ```29 ```

30 30 

31 **Windows PowerShell:**31 **Windows PowerShell:**

32 32 

33 ```powershell theme={null} theme={null} theme={null} theme={null}33 ```powershell theme={null}

34 irm https://claude.ai/install.ps1 | iex34 irm https://claude.ai/install.ps1 | iex

35 ```35 ```

36 36 

37 **Windows CMD:**37 **Windows CMD:**

38 38 

39 ```batch theme={null} theme={null} theme={null} theme={null}39 ```batch theme={null}

40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41 ```41 ```

42 42 


52 </Tab>52 </Tab>

53 53 

54 <Tab title="Homebrew">54 <Tab title="Homebrew">

55 ```bash theme={null} theme={null} theme={null} theme={null}55 ```bash theme={null}

56 brew install --cask claude-code56 brew install --cask claude-code

57 ```57 ```

58 58 


64 </Tab>64 </Tab>

65 65 

66 <Tab title="WinGet">66 <Tab title="WinGet">

67 ```powershell theme={null} theme={null} theme={null} theme={null}67 ```powershell theme={null}

68 winget install Anthropic.ClaudeCode68 winget install Anthropic.ClaudeCode

69 ```69 ```

70 70 

permissions.md +26 −16

Details

165 Coloque o `*` após o subcomando. Em `git log --oneline main`, `git` é o programa e `log` é o subcomando, a palavra que determina o que o programa faz. Claude Code corresponde a tudo antes do primeiro `*` como escrito, portanto essas palavras são o que limitam a regra: `Bash(git log *)` permite apenas comandos `git log`, e `Bash(git *)` permite todos os comandos git. Claude Code [avisa na inicialização](/docs/pt/errors#has-a-wildcard-before-the-rest-of-the-command) sobre uma regra de permissão com um `*` antes do subcomando, como `Bash(git * main)`.165 Coloque o `*` após o subcomando. Em `git log --oneline main`, `git` é o programa e `log` é o subcomando, a palavra que determina o que o programa faz. Claude Code corresponde a tudo antes do primeiro `*` como escrito, portanto essas palavras são o que limitam a regra: `Bash(git log *)` permite apenas comandos `git log`, e `Bash(git *)` permite todos os comandos git. Claude Code [avisa na inicialização](/docs/pt/errors#has-a-wildcard-before-the-rest-of-the-command) sobre uma regra de permissão com um `*` antes do subcomando, como `Bash(git * main)`.

166</Warning>166</Warning>

167 167 

168Escreva o comando que você quer que Claude execute sem perguntar, e substitua as partes que variam com `*`. Com esta configuração, Claude Code executa scripts npm e commits git sem perguntar e recusa git push:168Escreva o comando que você quer que Claude execute sem perguntar, e substitua as partes que variam com `*`. Com esta configuração, Claude Code executa scripts npm e commits git sem perguntar e recusa comandos que começam com `git push`. Um push escrito de outra forma, como `git -C . push`, não é correspondido; veja [o que uma regra Bash não corresponde](#bash-rule-limits).

169 169 

170```json theme={null}170```json theme={null}

171{171{


224 224 

225Uma regra de negação ou pergunta cujo nome de ferramenta não corresponde a nenhuma ferramenta conhecida produz um aviso de inicialização para detectar erros de digitação. Nomes de ferramentas contendo `_` ou `*` estão isentos da verificação.225Uma regra de negação ou pergunta cujo nome de ferramenta não corresponde a nenhuma ferramenta conhecida produz um aviso de inicialização para detectar erros de digitação. Nomes de ferramentas contendo `_` ou `*` estão isentos da verificação.

226 226 

227O rótulo mostrado para uma ferramenta na transcrição e diálogo de permissão pode diferir do seu nome canônico. Por exemplo, a ferramenta rotulada `Stop Task` na transcrição tem o nome canônico `TaskStop`. As regras de permissão e [correspondências de hook](/docs/pt/hooks) correspondem apenas ao nome canônico, portanto uma regra escrita como `Stop Task` não corresponde. Para regras de negação e pergunta, o aviso de inicialização acima detecta a incompatibilidade. Use os nomes canônicos listados na [referência de ferramentas](/docs/pt/tools-reference).227O rótulo mostrado para uma ferramenta na transcrição e diálogo de permissão pode diferir do seu nome canônico. Por exemplo, a ferramenta rotulada `Stop Task` na transcrição tem o nome canônico `TaskStop`. As regras de permissão e [correspondências de hook](/docs/pt/hooks) não correspondem ao rótulo, portanto uma regra escrita como `Stop Task` não corresponde. Para regras de negação e pergunta, o aviso de inicialização acima detecta a incompatibilidade. Use os nomes canônicos listados na [referência de ferramentas](/docs/pt/tools-reference).

228 228 

229<h2 id="tool-specific-permission-rules">229<h2 id="tool-specific-permission-rules">

230 Regras de permissão específicas da ferramenta230 Regras de permissão específicas da ferramenta


234 Bash234 Bash

235</h3>235</h3>

236 236 

237As regras Bash correspondem ao texto do comando inteiro, com `*` representando qualquer texto. [Padrões com caracteres curinga](#wildcard-patterns) mostra quais comandos cada forma de regra corresponde e onde colocar o `*`. O resto desta seção cobre como Claude Code corresponde a comandos compostos, wrappers, comandos somente leitura e redirecionamentos.237As regras Bash correspondem ao texto do comando inteiro, com `*` representando qualquer texto. [Padrões com caracteres curinga](#wildcard-patterns) mostra quais comandos cada forma de regra corresponde e onde colocar o `*`. O resto desta seção cobre como Claude Code corresponde a comandos compostos e wrappers, o que uma regra não corresponde, comandos somente leitura e redirecionamentos.

238 238 

239<h4 id="compound-commands">239<h4 id="compound-commands">

240 Comandos compostos240 Comandos compostos


264 264 

265Wrappers exec como `watch`, `setsid`, `ionice` e `flock` não podem ser auto-aprovados por uma regra de prefixo como `Bash(watch *)`, portanto em modo Manual sempre solicitam. O mesmo se aplica a `find` com `-exec` ou `-delete`: uma regra `Bash(find *)` não cobre essas formas. Para aprovar uma invocação específica, escreva uma regra de correspondência exata para a string de comando completa.265Wrappers exec como `watch`, `setsid`, `ionice` e `flock` não podem ser auto-aprovados por uma regra de prefixo como `Bash(watch *)`, portanto em modo Manual sempre solicitam. O mesmo se aplica a `find` com `-exec` ou `-delete`: uma regra `Bash(find *)` não cobre essas formas. Para aprovar uma invocação específica, escreva uma regra de correspondência exata para a string de comando completa.

266 266 

267<h4 id="bash-rule-limits">

268 O que uma regra Bash não corresponde

269</h4>

270 

271Uma regra Bash corresponde ao texto do comando que Claude escreve, após Claude Code dividir [comandos compostos](#compound-commands) e remover [wrappers](#process-wrappers). Ela não corresponde ao mesmo programa invocado de uma forma diferente, portanto uma regra deny ou ask cobre a invocação que Claude geralmente produz e não é um limite de segurança ao redor do programa. Estas regras em `deny` ou `ask` param a primeira forma e não as outras:

272 

273| Regra | Impede | Não impede |

274| :----------------- | :------------------------- | :---------------------------------------------------------------------------------------------------- |

275| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |

276| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |

277| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |

278 

279Suas outras regras e o modo de permissão decidem os comandos na última coluna.

280 

281Para imposição de sistema de arquivos e rede que não depende do texto do comando, use [sandboxing](/docs/pt/sandboxing). Para inspecionar o texto do comando completo com sua própria lógica antes de ser executado, use um [hook PreToolUse](#extend-permissions-with-hooks).

282 

267<h4 id="read-only-commands">283<h4 id="read-only-commands">

268 Comandos somente leitura284 Comandos somente leitura

269</h4>285</h4>


294 * Protocolo diferente: `curl https://github.com/...`310 * Protocolo diferente: `curl https://github.com/...`

295 * Redirecionamentos: `curl -L http://short.example.com/xyz`, que redireciona para GitHub311 * Redirecionamentos: `curl -L http://short.example.com/xyz`, que redireciona para GitHub

296 * Variáveis: `URL=http://github.com && curl $URL`312 * Variáveis: `URL=http://github.com && curl $URL`

297 * Espaços extras: `curl http://github.com`

298 313 

299 Para filtragem de URL mais confiável, considere:314 Para filtragem de URL mais confiável, considere:

300 315 

301 * **Restringir ferramentas de rede Bash**: use regras deny para bloquear `curl`, `wget` e ferramentas similares, depois use a ferramenta WebFetch com permissão `WebFetch(domain:github.com)` para domínios permitidos316 * **Restringir ferramentas de rede Bash**: use regras deny para bloquear `curl`, `wget` e ferramentas similares, depois use a ferramenta WebFetch com permissão `WebFetch(domain:github.com)` para domínios permitidos. Uma regra deny não corresponde ao mesmo programa por caminho ou dentro de `sh -c`, portanto combine com a [lista de permissões de rede do sandbox](/docs/pt/sandboxing#network-isolation) quando a restrição deve ser mantida; veja [o que uma regra Bash não corresponde](#bash-rule-limits)

302 * **Use hooks PreToolUse**: implemente um hook que valida URLs em comandos Bash e bloqueia domínios não permitidos317 * **Use hooks PreToolUse**: implemente um hook que valida URLs em comandos Bash e bloqueia domínios não permitidos

303 * **Adicione orientação CLAUDE.md**: descreva seus padrões curl permitidos em `CLAUDE.md`. Isso molda o que Claude tenta mas não impõe um limite, portanto combine com uma das opções acima318 * **Adicione orientação CLAUDE.md**: descreva seus padrões curl permitidos em `CLAUDE.md`. Isso molda o que Claude tenta mas não impõe um limite, portanto combine com uma das opções acima

304 319 


353Claude Code verifica permissões de arquivo apenas contra regras `Edit(path)` e `Read(path)`. Se você escrever uma regra de caminho para `Write`, `NotebookEdit`, `Glob` ou a ferramenta legada `MultiEdit` em vez disso, Claude Code aceita a regra mas nunca a consulta, e [avisa na inicialização](/docs/pt/errors#is-not-matched-by-file-permission-checks), exceto por uma regra `Glob` passada em `--allowedTools`. Use `Edit(docs/**)` no lugar de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, e `Read(docs/**)` no lugar de `Glob(docs/**)`. Claude Code não avisa sobre uma regra de nome de ferramenta sem caminho, como uma regra deny para `Write`; ela corresponde a essa regra no nível de ferramenta em todos os lugares. Requer Claude Code v2.1.210 ou posterior.368Claude Code verifica permissões de arquivo apenas contra regras `Edit(path)` e `Read(path)`. Se você escrever uma regra de caminho para `Write`, `NotebookEdit`, `Glob` ou a ferramenta legada `MultiEdit` em vez disso, Claude Code aceita a regra mas nunca a consulta, e [avisa na inicialização](/docs/pt/errors#is-not-matched-by-file-permission-checks), exceto por uma regra `Glob` passada em `--allowedTools`. Use `Edit(docs/**)` no lugar de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, e `Read(docs/**)` no lugar de `Glob(docs/**)`. Claude Code não avisa sobre uma regra de nome de ferramenta sem caminho, como uma regra deny para `Write`; ela corresponde a essa regra no nível de ferramenta em todos os lugares. Requer Claude Code v2.1.210 ou posterior.

354 369 

355<Warning>370<Warning>

356 As regras deny de Read e Edit se aplicam às ferramentas de arquivo integradas do Claude, aos comandos de arquivo que Claude Code reconhece em Bash, como `cat`, `head`, `tail` e `sed`, e aos alvos de [redirecionamentos](#redirections) Bash como `> file` e `< file`. Elas não se aplicam a subprocessos arbitrários que leem ou escrevem arquivos indiretamente, como um script Python ou Node que abre arquivos por conta própria. Para imposição em nível de SO que bloqueia todos os processos de acessar um caminho, [ative o sandbox](/docs/pt/sandboxing).371 As regras deny de Read e Edit se aplicam às ferramentas de arquivo integradas do Claude, aos comandos de arquivo que Claude Code reconhece em Bash, como `cat`, `head`, `tail` e `sed`, e aos alvos de [redirecionamentos](#redirections) Bash como `> file` e `< file`. Elas não se aplicam a um comando que lê arquivos sem nomeá-los, como `grep -r pattern .` executado a partir do diretório que contém o arquivo, ou a subprocessos arbitrários que leem ou escrevem arquivos indiretamente, como um script Python ou Node que abre arquivos por conta própria. Para imposição em nível de SO que bloqueia todos os processos de acessar um caminho, [ative o sandbox](/docs/pt/sandboxing).

357</Warning>372</Warning>

358 373 

359As regras Read e Edit usam sintaxe de padrão [gitignore](https://git-scm.com/docs/gitignore) com quatro tipos de padrão distintos; para padrões de diretório de segmento único, a profundidade de correspondência também depende do tipo de regra, descrito mais adiante nesta seção:374As regras Read e Edit usam sintaxe de padrão [gitignore](https://git-scm.com/docs/gitignore) com quatro tipos de padrão distintos; para padrões de diretório de segmento único, a profundidade de correspondência também depende do tipo de regra, descrito mais adiante nesta seção:


534Os padrões de caminho compartilham as âncoras `//`, `~/` e `/` das [regras Read e Edit](#read-and-edit), mas a correspondência é ancorada ao caminho do diretório inteiro em vez de estilo gitignore. `*` corresponde a exatamente um segmento de caminho e `**` corresponde entre segmentos. Um `/**` final também corresponde à sua raiz nomeada.549Os padrões de caminho compartilham as âncoras `//`, `~/` e `/` das [regras Read e Edit](#read-and-edit), mas a correspondência é ancorada ao caminho do diretório inteiro em vez de estilo gitignore. `*` corresponde a exatamente um segmento de caminho e `**` corresponde entre segmentos. Um `/**` final também corresponde à sua raiz nomeada.

535 550 

536| Regra | Corresponde | Não corresponde |551| Regra | Corresponde | Não corresponde |

537| --------------------- | ---------------------------------------------------------- | --------------------------- |552| --------------------- | -------------------------------------------------------------------------------- | --------------------------- |

538| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |553| `Cd(~/code/*)` | `~/code/app` | `~/code/app/src`, `~/code` |

539| `Cd(~/code/**)` | `~/code` e qualquer diretório sob ele | diretórios fora de `~/code` |554| `Cd(~/code/**)` | `~/code` e qualquer diretório sob ele | diretórios fora de `~/code` |

540| `Cd(**/node_modules)` | qualquer diretório `node_modules` em qualquer profundidade | `node_modules/pkg` |555| `Cd(**/node_modules)` | qualquer diretório `node_modules` em qualquer profundidade sob o diretório atual | `node_modules/pkg` |

541 556 

542<h2 id="extend-permissions-with-hooks">557<h2 id="extend-permissions-with-hooks">

543 Estender permissões com hooks558 Estender permissões com hooks


567 582 

568Defina [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) para fazer com que as ferramentas de arquivo recusem os caminhos que ele delimita em cada modo de permissão. No modo automático, Claude Code oferece ativá-lo na primeira vez que Claude [lê fora dos diretórios de trabalho](/docs/pt/permission-modes#first-read-outside-the-working-directories).583Defina [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) para fazer com que as ferramentas de arquivo recusem os caminhos que ele delimita em cada modo de permissão. No modo automático, Claude Code oferece ativá-lo na primeira vez que Claude [lê fora dos diretórios de trabalho](/docs/pt/permission-modes#first-read-outside-the-working-directories).

569 584 

570Em sessões em segundo plano no macOS, o host da sessão solicita acesso a pastas protegidas como `~/Desktop`, `~/Documents` e `~/Downloads` separadamente do seu terminal quando Claude precisa ler ou escrever arquivos lá; se as leituras falharem com `Operation not permitted`, consulte [como conceder acesso a pastas para sessões em segundo plano](/docs/pt/agent-view#background-sessions-can't-read-desktop-documents-or-downloads-on-macos).585Em sessões em segundo plano no macOS, o host da sessão solicita acesso a pastas protegidas como `~/Desktop`, `~/Documents` e `~/Downloads` separadamente do seu terminal quando Claude precisa ler ou escrever arquivos lá; se as leituras falharem com `Operation not permitted`, consulte [como conceder acesso a pastas para sessões em segundo plano](/docs/pt/agent-view#background-sessions-can%E2%80%99t-read-desktop-documents-or-downloads-on-macos).

571 586 

572<h3 id="move-the-session-to-another-directory">587<h3 id="move-the-session-to-another-directory">

573 Mover a sessão para outro diretório588 Mover a sessão para outro diretório


627* **Permissões** controlam quais ferramentas Claude Code pode usar e quais arquivos ou domínios pode acessar. Elas se aplicam a Bash, Read, Edit, WebFetch, MCP e todas as outras ferramentas, exceto que uma regra deny ou ask não pode bloquear [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer.642* **Permissões** controlam quais ferramentas Claude Code pode usar e quais arquivos ou domínios pode acessar. Elas se aplicam a Bash, Read, Edit, WebFetch, MCP e todas as outras ferramentas, exceto que uma regra deny ou ask não pode bloquear [`EndConversation`](/docs/pt/tools-reference#endconversation-tool-behavior) enquanto qualquer outra ferramenta permanecer.

628* **Sandboxing** fornece imposição em nível de SO que restringe o acesso do Bash à rede e sistema de arquivos. Aplica-se apenas a comandos Bash e seus processos filhos.643* **Sandboxing** fornece imposição em nível de SO que restringe o acesso do Bash à rede e sistema de arquivos. Aplica-se apenas a comandos Bash e seus processos filhos.

629 644 

630Use ambos para defesa em profundidade:645Use ambos para defesa em profundidade, já que as restrições de sandbox ainda se aplicam mesmo se uma injeção de prompt contornar a tomada de decisão de Claude. Caminhos e domínios das configurações de sandbox e regras de permissão são [mesclados na configuração final de sandbox](/docs/pt/sandboxing#permission-rules).

631 

632* As regras deny de permissão bloqueiam Claude de até tentar acessar recursos restritos

633* As restrições de sandbox impedem que comandos Bash alcancem recursos fora dos limites definidos, mesmo se uma injeção de prompt contornar a tomada de decisão de Claude

634* As restrições de sistema de arquivos no sandbox combinam as configurações [`sandbox.filesystem`](/docs/pt/sandboxing) com regras deny de Read e Edit; ambas são mescladas no limite final do sandbox

635* As restrições de rede combinam regras de permissão `WebFetch(domain:...)` com as listas `allowedDomains` e `deniedDomains` do sandbox

636 646 

637Quando o sandboxing é ativado e você deixa `autoAllowBashIfSandboxed` em seu padrão de `true`, comandos Bash em sandbox são executados sem solicitar mesmo se suas permissões incluem uma regra ask simples `Bash`, ou o [formulário equivalente `Bash(*)`](#match-all-uses-of-a-tool): o limite do sandbox substitui esse prompt de ferramenta inteira.647Quando você ativa sandboxing e deixa `autoAllowBashIfSandboxed` em seu padrão de `true`, comandos Bash em sandbox são executados sem solicitar mesmo se suas permissões incluem uma regra ask simples `Bash`, ou o [formulário equivalente `Bash(*)`](#match-all-uses-of-a-tool): o limite do sandbox substitui esse prompt de ferramenta inteira.

638 648 

639Em [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code pula essa substituição. Sem uma regra ask, os [comandos somente leitura integrados](#read-only-commands) ainda são executados sem solicitar, e qualquer outro comando shell passa pelo fluxo de permissão regular enquanto você ainda está planejando; veja [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) para como Claude Code controla comandos lá. Com uma regra ask simples `Bash`, cada comando Bash solicita, incluindo comandos somente leitura em sandbox, o mesmo que fora do sandboxing. Antes da v2.1.212, a substituição se aplicava em plan mode também.649Em [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code pula essa substituição. Sem uma regra ask, os [comandos somente leitura integrados](#read-only-commands) ainda são executados sem solicitar, e qualquer outro comando shell passa pelo fluxo de permissão regular enquanto você ainda está planejando; veja [plan mode](/docs/pt/permission-modes#analyze-before-you-edit-with-plan-mode) para como Claude Code controla comandos lá. Com uma regra ask simples `Bash`, cada comando Bash solicita, incluindo comandos somente leitura em sandbox, o mesmo que fora do sandboxing. Antes da v2.1.212, a substituição se aplicava em plan mode também.

640 650 

Details

173| `plugins` | array | Lista de plugins disponíveis | Veja abaixo |173| `plugins` | array | Lista de plugins disponíveis | Veja abaixo |

174 174 

175<Note>175<Note>

176 **Nomes reservados**: os seguintes nomes de marketplace são reservados para uso oficial da Anthropic e não podem ser usados por marketplaces de terceiros: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `healthcare`. Nomes que imitam marketplaces oficiais, como `official-claude-plugins` ou `anthropic-plugins-v2`, também são bloqueados. Reservar esses nomes impede que um marketplace de terceiros se apresente como uma fonte publicada pela Anthropic.176 **Nomes reservados**: os seguintes nomes de marketplace são reservados para uso oficial da Anthropic e não podem ser usados por marketplaces de terceiros: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `claude-tag-plugins`, `healthcare`. Nomes que imitam marketplaces oficiais, como `official-claude-plugins` ou `anthropic-plugins-v2`, também são bloqueados. Reservar esses nomes impede que um marketplace de terceiros se apresente como uma fonte publicada pela Anthropic.

177 177 

178 Claude Code verifica novamente os nomes reservados toda vez que carrega um marketplace, não apenas quando você adiciona um. Um marketplace que foi registrado sob um desses nomes antes do nome se tornar reservado para de carregar e relata que está [registrado de uma fonte não confiável](/docs/pt/errors#marketplace-is-registered-from-an-untrusted-source). Remova esse marketplace e adicione-o novamente da fonte oficial da Anthropic. Um marketplace de terceiros afetado por um nome recém-reservado carrega novamente assim que você o adiciona novamente sob um nome diferente. Antes da v2.1.205, `first-party-plugins` e `healthcare` não eram reservados, e um marketplace já registrado sob um nome reservado continuava carregando.178 Claude Code verifica novamente os nomes reservados toda vez que carrega um marketplace, não apenas quando você adiciona um. Um marketplace que foi registrado sob um desses nomes antes do nome se tornar reservado para de carregar e relata que está [registrado de uma fonte não confiável](/docs/pt/errors#marketplace-is-registered-from-an-untrusted-source). Remova esse marketplace e adicione-o novamente da fonte oficial da Anthropic. Um marketplace de terceiros afetado por um nome recém-reservado carrega novamente assim que você o adiciona novamente sob um nome diferente. Antes da v2.1.205, `first-party-plugins` e `healthcare` não eram reservados, e um marketplace já registrado sob um nome reservado continuava carregando. Antes da v2.1.265, `claude-tag-plugins` não era reservado.

179</Note>179</Note>

180 180 

181<h3 id="owner-fields">181<h3 id="owner-fields">


226 226 

227| Campo | Tipo | Descrição |227| Campo | Tipo | Descrição |

228| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |228| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

229| `displayName` | string | Nome legível por humanos exibido em superfícies de UI. Volta para `name` quando omitido. Pode conter espaços e qualquer capitalização. Não é usado para namespacing ou lookup. |229| `displayName` | string | Nome legível por humanos exibido em superfícies de UI. Quando nem a entrada nem o `plugin.json` do plugin define um, os usuários veem o `name` do plugin. Pode conter espaços e qualquer capitalização. Não é usado para namespacing ou lookup. |

230| `description` | string | Breve descrição do plugin |230| `description` | string | Breve descrição do plugin |

231| `version` | string | Versão do plugin. Se definido (aqui ou em `plugin.json`), o plugin é fixado a esta string e os usuários recebem atualizações apenas quando ela muda. Um plugin com uma [`command` source](#command-sources) não é fixado por nenhum dos dois campos. Se não definido em nenhum lugar, a versão vem da próxima fonte em [gerenciamento de versão](/docs/pt/plugins-reference#version-management). |231| `version` | string | Versão do plugin. Se definido (aqui ou em `plugin.json`), o plugin é fixado a esta string e os usuários recebem atualizações apenas quando ela muda. Um plugin com uma [`command` source](#command-sources) não é fixado por nenhum dos dois campos. Se não definido em nenhum lugar, a versão vem da próxima fonte em [gerenciamento de versão](/docs/pt/plugins-reference#version-management). |

232| `author` | object | Informações do autor do plugin (`name` obrigatório; `email` e `url` opcionais) |232| `author` | object | Informações do autor do plugin (`name` obrigatório; `email` e `url` opcionais) |


241| `relevance` | object | Sinais que informam ao Claude Code quando sugerir este plugin aos usuários. Tem efeito apenas para marketplaces que um administrador coloca na lista de permissões em configurações gerenciadas. Veja [Recomendar plugins para sua organização](/docs/pt/plugin-relevance). |241| `relevance` | object | Sinais que informam ao Claude Code quando sugerir este plugin aos usuários. Tem efeito apenas para marketplaces que um administrador coloca na lista de permissões em configurações gerenciadas. Veja [Recomendar plugins para sua organização](/docs/pt/plugin-relevance). |

242| `defaultEnabled` | boolean | Se o plugin está habilitado após a instalação (padrão: true). Defina como `false` para instalar o plugin desabilitado até que o usuário opte por ativá-lo. Tem precedência sobre o mesmo campo no `plugin.json` do plugin. Veja [Default enablement](/docs/pt/plugins-reference#default-enablement). |242| `defaultEnabled` | boolean | Se o plugin está habilitado após a instalação (padrão: true). Defina como `false` para instalar o plugin desabilitado até que o usuário opte por ativá-lo. Tem precedência sobre o mesmo campo no `plugin.json` do plugin. Veja [Default enablement](/docs/pt/plugins-reference#default-enablement). |

243 243 

244Tanto a entrada quanto o próprio `plugin.json` do plugin podem definir os campos de exibição `displayName`, `description`, `author`, `homepage`, `repository`, `license` e `keywords`. Em listagens e detalhes de plugins, antes e depois da instalação:

245 

246* Para um campo que você define na entrada, os usuários veem o valor da entrada, mesmo quando `plugin.json` define um diferente.

247* Para um campo que a entrada deixa indefinido, os usuários veem o valor de `plugin.json`.

248 

249Antes da instalação, Claude Code pode ler `plugin.json` apenas para entradas com uma [fonte de caminho relativo](#relative-paths), cujos arquivos de plugin vivem dentro do próprio marketplace. Para uma entrada com qualquer outro tipo de fonte, os usuários veem apenas os campos da própria entrada até que instalem o plugin.

250 

244**Campos de configuração de componentes:**251**Campos de configuração de componentes:**

245 252 

246| Campo | Tipo | Descrição |253| Campo | Tipo | Descrição |


1121 1128 

1122A correspondência exata da lista de permissões trata URLs que diferem apenas por uma barra à direita, um sufixo `.git` ou o esquema `ssh://` e `https://` como valores diferentes. Se o marketplace da sua organização pode ser clonado por mais de uma forma de URL, prefira uma entrada `hostPattern` em vez de uma URL literal para que as formas `https://`, `ssh://` e `user@host:path` todas correspondam.1129A correspondência exata da lista de permissões trata URLs que diferem apenas por uma barra à direita, um sufixo `.git` ou o esquema `ssh://` e `https://` como valores diferentes. Se o marketplace da sua organização pode ser clonado por mais de uma forma de URL, prefira uma entrada `hostPattern` em vez de uma URL literal para que as formas `https://`, `ssh://` e `user@host:path` todas correspondam.

1123 1130 

1124Como `strictKnownMarketplaces` é definido em [configurações gerenciadas](/docs/pt/settings-reference#managed-settings), configurações individuais de usuários e projetos não podem substituir essas restrições.1131Como `strictKnownMarketplaces` é definido em [configurações gerenciadas](/docs/pt/managed-settings), configurações individuais de usuários e projetos não podem substituir essas restrições.

1125 1132 

1126Para detalhes de configuração completos incluindo todos os tipos de fonte suportados e comparação com `extraKnownMarketplaces`, veja a [referência strictKnownMarketplaces](/docs/pt/settings-reference#strictknownmarketplaces).1133Para detalhes de configuração completos incluindo todos os tipos de fonte suportados e comparação com `extraKnownMarketplaces`, veja a [referência strictKnownMarketplaces](/docs/pt/settings-reference#strictknownmarketplaces).

1127 1134 


1609 Plugins com caminhos relativos falham em marketplaces baseados em URL1616 Plugins com caminhos relativos falham em marketplaces baseados em URL

1610</h3>1617</h3>

1611 1618 

1612**Sintomas**: Adicionou um marketplace via URL (como `https://example.com/marketplace.json`), mas plugins com fontes de caminho relativo como `"./plugins/my-plugin"` falham ao instalar com erros "path not found".1619**Sintomas**: Adicionou um marketplace via URL (como `https://example.com/marketplace.json`), mas plugins com fontes de caminho relativo como `"./plugins/my-plugin"` falham ao instalar com `its marketplace entry path does not stay inside the marketplace directory`. Plugins já instalados falham ao carregar com `Plugin source path refused`. Ambas as mensagens têm uma [entrada de referência de erro](/docs/pt/errors#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory).

1613 1620 

1614**Causa**: Adicionar um marketplace baseado em URL baixa apenas o próprio arquivo `marketplace.json`, e Claude Code não busca arquivos de plugin por caminho relativo daquele servidor. Caminhos relativos na entrada de marketplace referenciam arquivos no servidor remoto que não foram baixados.1621**Causa**: adicionar um marketplace baseado em URL baixa apenas o próprio arquivo `marketplace.json`, e Claude Code não busca arquivos de plugin por caminho relativo daquele servidor. Caminhos relativos na entrada de marketplace referenciam arquivos no servidor remoto que não foram baixados.

1615 1622 

1616**Soluções**:1623**Soluções**:

1617 1624 

Details

533</h3>533</h3>

534 534 

535| Campo | Tipo | Descrição | Exemplo |535| Campo | Tipo | Descrição | Exemplo |

536| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |536| :--------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

537| `$schema` | string | URL do JSON Schema para autocomplete e validação do editor. Claude Code ignora este campo em tempo de carregamento. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |537| `$schema` | string | URL do JSON Schema para autocomplete e validação do editor. Claude Code ignora este campo em tempo de carregamento. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

538| `displayName` | string | Nome legível por humanos mostrado no seletor `/plugin` e outras superfícies de interface do usuário. Volta para `name` quando omitido. Ao contrário de `name`, pode conter espaços e qualquer capitalização. Não é usado para namespacing ou busca. | `"Deployment Tools"` |538| `displayName` | string | Nome legível por humanos mostrado no seletor `/plugin` e outras superfícies de interface do usuário. Para um plugin instalado a partir de um marketplace, um `displayName` na [entrada de marketplace](/docs/pt/plugin-marketplaces#optional-plugin-fields) tem precedência sobre este valor. Quando nenhum nome de exibição é definido em nenhum dos dois lugares, os usuários veem `name`. Ao contrário de `name`, pode conter espaços e qualquer capitalização. Não é usado para namespacing ou busca. | `"Deployment Tools"` |

539| `version` | string | Opcional. Versão semântica. Definir isso fixa o plugin para essa string de versão, então os usuários só recebem atualizações quando você a incrementa, exceto para uma [`command` source](/docs/pt/plugin-marketplaces#command-sources); veja [Gerenciamento de versão](#version-management). Se também definido na entrada de marketplace, `plugin.json` vence. Se omitido, a versão vem da próxima fonte em [Gerenciamento de versão](#version-management). | `"2.1.0"` |539| `version` | string | Opcional. Versão semântica. Definir isso fixa o plugin para essa string de versão, então os usuários só recebem atualizações quando você a incrementa, exceto para uma [`command` source](/docs/pt/plugin-marketplaces#command-sources); veja [Gerenciamento de versão](#version-management). Se também definido na entrada de marketplace, `plugin.json` vence. Se omitido, a versão vem da próxima fonte em [Gerenciamento de versão](#version-management). | `"2.1.0"` |

540| `description` | string | Breve explicação do propósito do plugin | `"Deployment automation tools"` |540| `description` | string | Breve explicação do propósito do plugin | `"Deployment automation tools"` |

541| `author` | object | Informações do autor | `{"name": "Dev Team", "email": "dev@company.com"}` |541| `author` | object | Informações do autor | `{"name": "Dev Team", "email": "dev@company.com"}` |


774 774 

775O diretório `${CLAUDE_PLUGIN_DATA}` resolve para `~/.claude/plugins/data/{id}/`, onde `{id}` é o identificador do plugin com caracteres fora de `a-z`, `A-Z`, `0-9`, `_`, e `-` substituídos por `-`. Para um plugin instalado como `formatter@my-marketplace`, o diretório é `~/.claude/plugins/data/formatter-my-marketplace/`.775O diretório `${CLAUDE_PLUGIN_DATA}` resolve para `~/.claude/plugins/data/{id}/`, onde `{id}` é o identificador do plugin com caracteres fora de `a-z`, `A-Z`, `0-9`, `_`, e `-` substituídos por `-`. Para um plugin instalado como `formatter@my-marketplace`, o diretório é `~/.claude/plugins/data/formatter-my-marketplace/`.

776 776 

777Um uso comum é instalar dependências de linguagem uma vez e reutilizá-las entre sessões e atualizações de plugin. Use para dependências Python, dependências bloqueadas com Yarn ou pnpm, e pacotes cujos scripts de ciclo de vida devem executar. Para um plugin instalado em marketplace, você pode não precisar dele: Claude Code instala automaticamente [dependências de pacote Node.js](/docs/pt/plugin-dependencies#node-js-package-dependencies) elegíveis quando armazena em cache o plugin.777Um uso comum é instalar dependências de linguagem uma vez e reutilizá-las entre sessões e atualizações de plugin. Use para dependências Python, dependências bloqueadas com Yarn ou pnpm, e pacotes cujos scripts de ciclo de vida devem executar. Para um plugin instalado a partir de um marketplace, talvez você nem precise dele: Claude Code instala automaticamente [dependências de pacote Node.js](#node-js-package-dependencies) elegíveis quando armazena em cache o plugin.

778 778 

779Como o diretório de dados sobrevive a qualquer versão única de plugin, uma verificação de existência de diretório sozinha não pode detectar quando uma atualização muda o manifesto de dependência do plugin. O padrão recomendado compara o manifesto agrupado contra uma cópia no diretório de dados e reinstala quando diferem.779Como o diretório de dados sobrevive a qualquer versão única de plugin, uma verificação de existência de diretório sozinha não pode detectar quando uma atualização muda o manifesto de dependência do plugin. O padrão recomendado compara o manifesto agrupado contra uma cópia no diretório de dados e reinstala quando diferem.

780 780 


875 875 

876Claude Code não permite que um plugin referencie arquivos fora de seu próprio diretório. Ele rejeita um caminho de componente que se resolve fora da raiz do plugin, seja o caminho declarado em `plugin.json` ou em uma [entrada de marketplace](/docs/pt/plugin-marketplaces#plugin-entries). Isso cobre um caminho que aponta para fora do plugin conforme escrito, como `../shared-utils`, e um symlink que leva para fora do plugin, exceto [links dentro de um marketplace](#share-files-within-a-marketplace-with-symlinks).876Claude Code não permite que um plugin referencie arquivos fora de seu próprio diretório. Ele rejeita um caminho de componente que se resolve fora da raiz do plugin, seja o caminho declarado em `plugin.json` ou em uma [entrada de marketplace](/docs/pt/plugin-marketplaces#plugin-entries). Isso cobre um caminho que aponta para fora do plugin conforme escrito, como `../shared-utils`, e um symlink que leva para fora do plugin, exceto [links dentro de um marketplace](#share-files-within-a-marketplace-with-symlinks).

877 877 

878Em macOS e Linux, Claude Code também rejeita um caminho de componente que contém uma barra invertida em qualquer lugar, mesmo quando o caminho permanece dentro do plugin. Componentes declarados com caminhos de barra invertida, portanto, carregam apenas no Windows. Escreva caminhos de componentes com barras normais, como `./commands/deploy.md`.

879 

878Quando Claude Code rejeita um caminho, ele relata um erro [`path escapes plugin directory`](/docs/pt/errors#path-escapes-plugin-directory) e carrega o plugin sem esse componente.880Quando Claude Code rejeita um caminho, ele relata um erro [`path escapes plugin directory`](/docs/pt/errors#path-escapes-plugin-directory) e carrega o plugin sem esse componente.

879 881 

880Claude Code também não copia arquivos fora do diretório do plugin para o cache quando instala o plugin, portanto quando um script dentro de um plugin copiado lê um caminho acima da raiz do plugin, ele não encontra esses arquivos também.882Claude Code também não copia arquivos fora do diretório do plugin para o cache quando instala o plugin, portanto quando um script dentro de um plugin copiado lê um caminho acima da raiz do plugin, ele não encontra esses arquivos também.

quickstart.md +5 −5

Details

33 <Tab title="Native Install (Recommended)">33 <Tab title="Native Install (Recommended)">

34 **macOS, Linux, WSL:**34 **macOS, Linux, WSL:**

35 35 

36 ```bash theme={null} theme={null} theme={null} theme={null}36 ```bash theme={null}

37 curl -fsSL https://claude.ai/install.sh | bash37 curl -fsSL https://claude.ai/install.sh | bash

38 ```38 ```

39 39 

40 **Windows PowerShell:**40 **Windows PowerShell:**

41 41 

42 ```powershell theme={null} theme={null} theme={null} theme={null}42 ```powershell theme={null}

43 irm https://claude.ai/install.ps1 | iex43 irm https://claude.ai/install.ps1 | iex

44 ```44 ```

45 45 

46 **Windows CMD:**46 **Windows CMD:**

47 47 

48 ```batch theme={null} theme={null} theme={null} theme={null}48 ```batch theme={null}

49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```50 ```

51 51 


61 </Tab>61 </Tab>

62 62 

63 <Tab title="Homebrew">63 <Tab title="Homebrew">

64 ```bash theme={null} theme={null} theme={null} theme={null}64 ```bash theme={null}

65 brew install --cask claude-code65 brew install --cask claude-code

66 ```66 ```

67 67 


73 </Tab>73 </Tab>

74 74 

75 <Tab title="WinGet">75 <Tab title="WinGet">

76 ```powershell theme={null} theme={null} theme={null} theme={null}76 ```powershell theme={null}

77 winget install Anthropic.ClaudeCode77 winget install Anthropic.ClaudeCode

78 ```78 ```

79 79 

routines.md +4 −4

Details

288Use filtros para restringir quais pull requests iniciam uma nova sessão. Todas as condições de filtro devem corresponder para a rotina ser acionada. Os campos de filtro disponíveis são:288Use filtros para restringir quais pull requests iniciam uma nova sessão. Todas as condições de filtro devem corresponder para a rotina ser acionada. Os campos de filtro disponíveis são:

289 289 

290| Filtro | Corresponde |290| Filtro | Corresponde |

291| :--------------- | :--------------------------------------- |291| :---------------------- | :--------------------------------------- |

292| Autor | Nome de usuário do GitHub do autor do PR |292| Autor | Nome de usuário do GitHub do autor do PR |

293| Título | Texto do título do PR |293| Título | Texto do título do PR |

294| Corpo | Texto da descrição do PR |294| Corpo | Texto da descrição do PR |

295| Branch base | Branch que o PR tem como alvo |295| Branch base | Branch que o PR tem como alvo |

296| Branch principal | Branch de onde o PR vem |296| Branch de origem (head) | Branch de onde o PR vem |

297| Rótulos | Rótulos aplicados ao PR |297| Rótulos | Rótulos aplicados ao PR |

298| É rascunho | Se o PR está em estado de rascunho |298| É rascunho | Se o PR está em estado de rascunho |

299| É mesclado | Se o PR foi mesclado |299| É mesclado | Se o PR foi mesclado |


304 304 

305Alguns exemplos de combinações de filtro:305Alguns exemplos de combinações de filtro:

306 306 

307* **Revisão do módulo de autenticação**: branch base `main`, branch principal contém `auth-provider`. Envia qualquer PR que toque em autenticação para um revisor focado.307* **Revisão do módulo de autenticação**: branch base `main`, branch de origem (head) contém `auth-provider`. Envia qualquer PR que toque em autenticação para um revisor focado.

308* **Pronto para revisão apenas**: é rascunho é `false`. Pula rascunhos para que a rotina seja executada apenas quando o PR estiver pronto para revisão.308* **Pronto para revisão apenas**: é rascunho é `false`. Pula rascunhos para que a rotina seja executada apenas quando o PR estiver pronto para revisão.

309* **Backport com portão de rótulo**: rótulos incluem `needs-backport`. Aciona uma rotina de porta para outro branch apenas quando um mantenedor marca o PR.309* **Backport condicionado a rótulo**: rótulos incluem `needs-backport`. Aciona uma rotina que porta a alteração para outro branch apenas quando um mantenedor marca o PR.

310 310 

311<h2 id="manage-routines">311<h2 id="manage-routines">

312 Gerenciar rotinas312 Gerenciar rotinas

sandboxing.md +27 −24

Details

13</Note>13</Note>

14 14 

15<h2 id="get-started">15<h2 id="get-started">

16 Get started16 Comece agora

17</h2>17</h2>

18 18 

19O sandbox é integrado ao Claude Code e é executado em macOS, Linux e WSL2. Windows nativo não é suportado. No Windows, execute Claude Code dentro de uma distribuição WSL2.19O sandbox é integrado ao Claude Code e é executado em macOS, Linux e WSL2. Windows nativo não é suportado. No Windows, execute Claude Code dentro de uma distribuição WSL2.


57</Warning>57</Warning>

58 58 

59<h3 id="set-up-linux-and-wsl2">59<h3 id="set-up-linux-and-wsl2">

60 Set up Linux and WSL260 Configure o Linux e o WSL2

61</h3>61</h3>

62 62 

63No Linux e WSL2, o sandbox depende de dois pacotes:63No Linux e WSL2, o sandbox depende de dois pacotes:


115 <Accordion title="Notas do WSL2">115 <Accordion title="Notas do WSL2">

116 Verifique sua versão do WSL com `wsl -l -v` do PowerShell. Se você vir `Sandboxing requires WSL2`, sua distribuição está executando WSL1. Atualize-a para WSL2 ou execute Claude Code sem sandboxing.116 Verifique sua versão do WSL com `wsl -l -v` do PowerShell. Se você vir `Sandboxing requires WSL2`, sua distribuição está executando WSL1. Atualize-a para WSL2 ou execute Claude Code sem sandboxing.

117 117 

118 No WSL2, WSL entrega um lançamento de um binário do Windows como `cmd.exe`, `powershell.exe` ou qualquer coisa em `/mnt/c/` para o host do Windows através de um socket Unix, portanto se um comando em sandbox pode lançar um segue as configurações [Unix-socket](/docs/pt/settings-reference#sandbox-network-allowunixsockets) do sandbox: o filtro seccomp opcional tem que ser instalado para bloquear o socket em primeiro lugar. Para permitir esses lançamentos, defina `allowAllUnixSockets`; para mantê-los fora do sandbox completamente, adicione o comando a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).118 No WSL2, WSL entrega um lançamento de um binário do Windows como `cmd.exe`, `powershell.exe` ou qualquer coisa em `/mnt/c/` para o host do Windows através de um socket Unix, portanto, se um comando em sandbox pode ou não lançar um deles depende das configurações de [Unix-socket](/docs/pt/settings-reference#sandbox-network-allowunixsockets) do sandbox: o filtro seccomp opcional tem que ser instalado para bloquear o socket em primeiro lugar. Para permitir esses lançamentos, defina `allowAllUnixSockets`; para mantê-los fora do sandbox completamente, adicione o comando a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).

119 </Accordion>119 </Accordion>

120</AccordionGroup>120</AccordionGroup>

121 121 

122<h3 id="sandbox-modes">122<h3 id="sandbox-modes">

123 Sandbox modes123 Modos de sandbox

124</h3>124</h3>

125 125 

126Claude Code oferece dois modos de sandbox. Em ambos, o sandbox impõe as mesmas restrições de sistema de arquivos e rede; a diferença é apenas se os comandos em sandbox são aprovados automaticamente ou requerem permissão explícita.126Claude Code oferece dois modos de sandbox. Em ambos, o sandbox impõe as mesmas restrições de sistema de arquivos e rede; a diferença é apenas se os comandos em sandbox são aprovados automaticamente ou requerem permissão explícita.

127 127 

128<h4 id="auto-allow-mode">128<h4 id="auto-allow-mode">

129 Auto-allow mode129 Modo auto-allow

130</h4>130</h4>

131 131 

132Quando um comando pode ser colocado em sandbox, Claude Code o executa dentro do sandbox e o aprova automaticamente, sem pedir sua permissão. Comandos que não podem ser colocados em sandbox, como aqueles que precisam de acesso à rede para hosts não permitidos, voltam ao fluxo de permissão regular, onde Claude Code verifica suas [permission rules](/docs/pt/permissions) e bloqueia qualquer comando que essas regras não permitam, com um prompt no modo Manual.132Quando um comando pode ser colocado em sandbox, Claude Code o executa dentro do sandbox e o aprova automaticamente, sem pedir sua permissão. Comandos que não podem ser colocados em sandbox, como aqueles que precisam de acesso à rede para hosts não permitidos, voltam ao fluxo de permissão regular, onde Claude Code verifica suas [permission rules](/docs/pt/permissions) e bloqueia qualquer comando que essas regras não permitam, com um prompt no modo Manual.


145</Info>145</Info>

146 146 

147<h4 id="regular-permissions-mode">147<h4 id="regular-permissions-mode">

148 Regular permissions mode148 Modo de permissões regular

149</h4>149</h4>

150 150 

151Todos os comandos Bash passam pelo fluxo de permissão regular, mesmo quando em sandbox. Isso fornece mais controle, mas requer mais aprovações.151Todos os comandos Bash passam pelo fluxo de permissão regular, mesmo quando em sandbox. Isso fornece mais controle, mas requer mais aprovações.

152 152 

153<h4 id="the-unsandboxed-retry-escape-hatch">153<h4 id="the-unsandboxed-retry-escape-hatch">

154 The unsandboxed retry escape hatch154 A válvula de escape da nova tentativa fora do sandbox

155</h4>155</h4>

156 156 

157Alguns comandos não podem ser executados dentro do sandbox, como ferramentas que são incompatíveis com ele ou que precisam de um host que você não permitiu. Claude Code relata violações de sandbox no resultado do comando bloqueado, nomeando o caminho ou host que o sandbox negou, para que Claude veja o que o sandbox bloqueou. Em vez de falhar na tarefa ou exigir que você desative o sandboxing, Claude Code inclui um escape hatch: Claude analisa a violação e pode tentar novamente o comando com o parâmetro `dangerouslyDisableSandbox`.157Alguns comandos não podem ser executados dentro do sandbox, como ferramentas que são incompatíveis com ele ou que precisam de um host que você não permitiu. Claude Code relata violações de sandbox no resultado do comando bloqueado, nomeando o caminho ou host que o sandbox negou, para que Claude veja o que o sandbox bloqueou. Em vez de falhar na tarefa ou exigir que você desative o sandboxing, Claude Code inclui um escape hatch: Claude analisa a violação e pode tentar novamente o comando com o parâmetro `dangerouslyDisableSandbox`.


168Antes da v2.1.260, o modo strict sandbox colocava em sandbox comandos shell-mode em cada sessão.168Antes da v2.1.260, o modo strict sandbox colocava em sandbox comandos shell-mode em cada sessão.

169 169 

170<h4 id="temporary-directories">170<h4 id="temporary-directories">

171 Temporary directories171 Diretórios temporários

172</h4>172</h4>

173 173 

174O diretório temporário da sessão é gravável dentro do sandbox por padrão, junto com o diretório de trabalho. A menos que você [desabilite isolamento de sistema de arquivos](#disable-filesystem-isolation), Claude Code define `$TMPDIR` para este diretório para comandos em sandbox, portanto ferramentas que escrevem arquivos temporários funcionam sem configuração extra. Comandos não em sandbox herdam o `$TMPDIR` do seu shell inalterado, portanto enquanto isolamento de sistema de arquivos está ativado, comandos em sandbox e não em sandbox resolvem `$TMPDIR` para diretórios diferentes. Para passar arquivos temporários entre os dois, escreva-os no diretório de trabalho em vez disso.174O diretório temporário da sessão é gravável dentro do sandbox por padrão, junto com o diretório de trabalho. A menos que você [desabilite isolamento de sistema de arquivos](#disable-filesystem-isolation), Claude Code define `$TMPDIR` para este diretório para comandos em sandbox, portanto ferramentas que escrevem arquivos temporários funcionam sem configuração extra. Comandos não em sandbox herdam o `$TMPDIR` do seu shell inalterado, portanto enquanto isolamento de sistema de arquivos está ativado, comandos em sandbox e não em sandbox resolvem `$TMPDIR` para diretórios diferentes. Para passar arquivos temporários entre os dois, escreva-os no diretório de trabalho em vez disso.

175 175 

176<h2 id="configure-sandboxing">176<h2 id="configure-sandboxing">

177 Configure sandboxing177 Configure o sandboxing

178</h2>178</h2>

179 179 

180Personalize o comportamento do sandbox através de seu arquivo `settings.json`. Consulte [Settings](/docs/pt/settings-reference#sandbox-settings) para a referência de configuração completa.180Personalize o comportamento do sandbox através de seu arquivo `settings.json`. Consulte [Settings](/docs/pt/settings-reference#sandbox-settings) para a referência de configuração completa.


237Para negar aos comandos em sandbox acesso de leitura a diretórios home e volumes montados enquanto mantém os diretórios de trabalho legíveis, defina [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) em vez de escrever regras de caminho.237Para negar aos comandos em sandbox acesso de leitura a diretórios home e volumes montados enquanto mantém os diretórios de trabalho legíveis, defina [`permissions.blockReadsOutsideWorkingDirectories`](/docs/pt/settings-reference#permissions-blockreadsoutsideworkingdirectories) em vez de escrever regras de caminho.

238 238 

239<h3 id="disable-filesystem-isolation">239<h3 id="disable-filesystem-isolation">

240 Disable filesystem isolation240 Desative o isolamento do sistema de arquivos

241</h3>241</h3>

242 242 

243Defina `sandbox.filesystem.disabled` como `true` para pular o isolamento do sistema de arquivos enquanto mantém o isolamento de rede. O exemplo abaixo desativa o isolamento do sistema de arquivos enquanto mantém uma lista de permissão de domínios de rede:243Defina `sandbox.filesystem.disabled` como `true` para pular o isolamento do sistema de arquivos enquanto mantém o isolamento de rede. O exemplo abaixo desativa o isolamento do sistema de arquivos enquanto mantém uma lista de permissão de domínios de rede:


265</Warning>265</Warning>

266 266 

267<h4 id="which-settings-can-disable-it">267<h4 id="which-settings-can-disable-it">

268 Which settings can disable it268 Quais configurações podem desativá-lo

269</h4>269</h4>

270 270 

271Como desativar o isolamento do sistema de arquivos amplia o que os comandos em sandbox podem fazer, Claude Code honra `filesystem.disabled` apenas dessas fontes de configuração:271Como desativar o isolamento do sistema de arquivos amplia o que os comandos em sandbox podem fazer, Claude Code honra `filesystem.disabled` apenas dessas fontes de configuração:

272 272 

273* Configurações de usuário, configurações gerenciadas e o sinalizador CLI `--settings` podem defini-lo. Configurações de projeto em `.claude/settings.json` e `.claude/settings.local.json` não podem, portanto um projeto verificado não pode desativar o isolamento do sistema de arquivos.273* Configurações de usuário, configurações gerenciadas e o sinalizador CLI `--settings` podem defini-lo. Configurações de projeto em `.claude/settings.json` e `.claude/settings.local.json` não podem, portanto um projeto verificado não pode desativar o isolamento do sistema de arquivos.

274* Quando as configurações gerenciadas configuram `sandbox.filesystem` de forma alguma, ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, apenas as configurações gerenciadas podem definir a chave. Isso mantém as restrições de sistema de arquivos implantadas pelo administrador em vigor; para relaxar tal implantação, defina `"disabled": true` nas configurações gerenciadas.274* Quando as configurações gerenciadas configuram `sandbox.filesystem` de qualquer forma, ou listam qualquer entrada `sandbox.credentials.files` com `"mode": "deny"`, apenas as configurações gerenciadas podem definir a chave. Isso mantém as restrições de sistema de arquivos implantadas pelo administrador em vigor; para relaxar tal implantação, defina `"disabled": true` nas configurações gerenciadas.

275* Quando [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars) está definido, Claude Code ignora `filesystem.disabled` de cada fonte, incluindo configurações gerenciadas, e mantém o isolamento do sistema de arquivos ativado.275* Quando [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars) está definido, Claude Code ignora `filesystem.disabled` de cada fonte, incluindo configurações gerenciadas, e mantém o isolamento do sistema de arquivos ativado.

276 276 

277Se uma entrada `credentials.files` gerenciada fixa `filesystem.disabled`, bloqueando a chave para configurações gerenciadas para que os desenvolvedores não possam desativar o isolamento do sistema de arquivos, depende do `mode` da entrada e do que acontece com a entrada quando o sandbox inicia:277Se uma entrada `credentials.files` gerenciada fixa `filesystem.disabled`, bloqueando a chave para configurações gerenciadas para que os desenvolvedores não possam desativar o isolamento do sistema de arquivos, depende do `mode` da entrada e do que acontece com a entrada quando o sandbox inicia:


286Um recuo acontece quando o sandbox inicia, depois que Claude Code já leu as configurações em que a verificação de pino é executada, portanto uma entrada recuada nunca fixa. A validação reescreve uma entrada inválida para `deny` enquanto as configurações carregam, portanto uma entrada degradada fixa como uma que você escreveu como `deny`.286Um recuo acontece quando o sandbox inicia, depois que Claude Code já leu as configurações em que a verificação de pino é executada, portanto uma entrada recuada nunca fixa. A validação reescreve uma entrada inválida para `deny` enquanto as configurações carregam, portanto uma entrada degradada fixa como uma que você escreveu como `deny`.

287 287 

288<h4 id="what-changes-when-filesystem-isolation-is-off">288<h4 id="what-changes-when-filesystem-isolation-is-off">

289 What changes when filesystem isolation is off289 O que muda quando o isolamento do sistema de arquivos está desativado

290</h4>290</h4>

291 291 

292Definir `filesystem.disabled` remove as proteções que a camada do sistema de arquivos em si aplica. Proteções que outras camadas aplicam continuam se aplicando:292Definir `filesystem.disabled` remove as proteções que a camada do sistema de arquivos em si aplica. Proteções que outras camadas aplicam continuam se aplicando:


305* [`autoAllowBashIfSandboxed`](/docs/pt/settings-reference#sandbox-autoallowbashifsandboxed) ainda padrão para `true`, portanto comandos em sandbox continuam executando sem prompts. Defina-o como `false` para solicitar comandos em sandbox.305* [`autoAllowBashIfSandboxed`](/docs/pt/settings-reference#sandbox-autoallowbashifsandboxed) ainda padrão para `true`, portanto comandos em sandbox continuam executando sem prompts. Defina-o como `false` para solicitar comandos em sandbox.

306 306 

307<h3 id="protect-credentials">307<h3 id="protect-credentials">

308 Protect credentials308 Proteja credenciais

309</h3>309</h3>

310 310 

311A configuração `sandbox.credentials` declara arquivos de credenciais e variáveis de ambiente a proteger de comandos em sandbox. Cada entrada nomeia um caminho de arquivo ou uma variável de ambiente e um `mode`. O bloco `credentials` dedicado mantém as regras de credenciais agrupadas e separadas das regras gerais do sistema de arquivos. Requer Claude Code v2.1.187 ou posterior.311A configuração `sandbox.credentials` declara arquivos de credenciais e variáveis de ambiente a proteger de comandos em sandbox. Cada entrada nomeia um caminho de arquivo ou uma variável de ambiente e um `mode`. O bloco `credentials` dedicado mantém as regras de credenciais agrupadas e separadas das regras gerais do sistema de arquivos. Requer Claude Code v2.1.187 ou posterior.


348`sandbox.credentials` afeta apenas comandos Bash em sandbox. Para remover credenciais de todos os subprocessos independentemente do sandboxing, defina [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars).348`sandbox.credentials` afeta apenas comandos Bash em sandbox. Para remover credenciais de todos os subprocessos independentemente do sandboxing, defina [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/pt/env-vars).

349 349 

350<h3 id="mask-credentials">350<h3 id="mask-credentials">

351 Mask credentials351 Mascare credenciais

352</h3>352</h3>

353 353 

354Mascaramento vai além de uma entrada `deny` em [Protect credentials](#protect-credentials). Em vez de bloquear uma credencial, Claude Code mostra aos comandos em sandbox um espaço reservado, o sentinela, e o [sandbox proxy](#network-isolation) troca o valor real em solicitações de saída para hosts que você permite. Para arquivos, a substituição é comportamento do Linux e WSL2; [macOS bloqueia o arquivo em vez disso](#mask-credential-files).354Mascaramento vai além de uma entrada `deny` em [Protect credentials](#protect-credentials). Em vez de bloquear uma credencial, Claude Code mostra aos comandos em sandbox um espaço reservado, o sentinela, e o [sandbox proxy](#network-isolation) troca o valor real em solicitações de saída para hosts que você permite. Para arquivos, a substituição é comportamento do Linux e WSL2; [macOS bloqueia o arquivo em vez disso](#mask-credential-files).

355 355 

356<h4 id="mask-environment-variables">356<h4 id="mask-environment-variables">

357 Mask environment variables357 Mascare variáveis de ambiente

358</h4>358</h4>

359 359 

360`"mode": "mask"` protege uma credencial mantendo as ferramentas que se autenticam com ela funcionando. `deny` remove a variável inteiramente, o que também quebra ferramentas que precisam dela, como `gh` ou `npm`. Requer Claude Code v2.1.199 ou posterior.360`"mode": "mask"` protege uma credencial mantendo as ferramentas que se autenticam com ela funcionando. `deny` remove a variável inteiramente, o que também quebra ferramentas que precisam dela, como `gh` ou `npm`. Requer Claude Code v2.1.199 ou posterior.


408* `onExtractNoMatch` controla o que acontece quando o padrão não corresponde a nada:408* `onExtractNoMatch` controla o que acontece quando o padrão não corresponde a nada:

409 * `warn`, o padrão, avisa e passa a variável através desmascarada409 * `warn`, o padrão, avisa e passa a variável através desmascarada

410 * `deny` desativa a variável dentro do sandbox410 * `deny` desativa a variável dentro do sandbox

411 * `error` para a configuração do sandbox até você corrigir a configuração411 * `error` interrompe a inicialização do sandbox até você corrigir a configuração

412* `decode: "jwt"`: para uma variável contendo um JSON Web Token (JWT). Claude Code verifica se o valor é um JWT e o substitui por um token falso estruturalmente válido, portanto o código dentro do sandbox que decodifica o token continua funcionando. Adicione `maskClaims` para listar reivindicações de carga útil de nível superior para mascarar individualmente em vez de substituir o token inteiro; as outras reivindicações permanecem legíveis. Quando o valor não se verifica como um JWT, ou nenhuma reivindicação listada corresponde, Claude Code passa a variável através desmascarada com um aviso. `decode` não pode ser combinado com `extract`.412* `decode: "jwt"`: para uma variável contendo um JSON Web Token (JWT). Claude Code verifica se o valor é um JWT e o substitui por um token falso estruturalmente válido, portanto o código dentro do sandbox que decodifica o token continua funcionando. Adicione `maskClaims` para listar reivindicações de carga útil de nível superior para mascarar individualmente em vez de substituir o token inteiro; as outras reivindicações permanecem legíveis. Quando o valor não se verifica como um JWT, ou nenhuma reivindicação listada corresponde, Claude Code passa a variável através desmascarada com um aviso. `decode` não pode ser combinado com `extract`.

413 413 

414Consulte as [linhas `credentials.envVars[]` na referência de configurações](/docs/pt/settings-reference#sandbox-settings) para a lista de campos completa.414Consulte as [linhas `credentials.envVars[]` na referência de configurações](/docs/pt/settings-reference#sandbox-settings) para a lista de campos completa.

415 415 

416<h4 id="re-sign-aws-requests">416<h4 id="re-sign-aws-requests">

417 Re-sign AWS requests417 Reassine solicitações da AWS

418</h4>418</h4>

419 419 

420Solicitações AWS carregam assinaturas SigV4 sobre o conteúdo da solicitação, portanto mascara `AWS_ACCESS_KEY_ID` e `AWS_SECRET_ACCESS_KEY` juntos. O proxy detecta uma solicitação SigV4 pela sentinela da chave de acesso e a re-assina depois de substituir os valores reais. Mascarar apenas o segredo deixa solicitações assinadas com o espaço reservado, que o proxy não pode detectar, portanto falham na AWS; Claude Code avisa sobre este caso na inicialização, mas não quando apenas a ID da chave de acesso é mascarada. Uma solicitação detectada que o proxy não pode re-assinar, como uma faltando seu cabeçalho `x-amz-date`, falha com um erro de proxy em vez de alcançar o servidor com uma assinatura quebrada.420Solicitações AWS carregam assinaturas SigV4 sobre o conteúdo da solicitação, portanto mascara `AWS_ACCESS_KEY_ID` e `AWS_SECRET_ACCESS_KEY` juntos. O proxy detecta uma solicitação SigV4 pela sentinela da chave de acesso e a re-assina depois de substituir os valores reais. Mascarar apenas o segredo deixa solicitações assinadas com o espaço reservado, que o proxy não pode detectar, portanto falham na AWS; Claude Code avisa sobre este caso na inicialização, mas não quando apenas a ID da chave de acesso é mascarada. Uma solicitação detectada que o proxy não pode re-assinar, como uma faltando seu cabeçalho `x-amz-date`, falha com um erro de proxy em vez de alcançar o servidor com uma assinatura quebrada.


455| Assinaturas assimétricas SigV4A | `sigv4a` | Não há HMAC de chave compartilhada para recomputar |455| Assinaturas assimétricas SigV4A | `sigv4a` | Não há HMAC de chave compartilhada para recomputar |

456 456 

457<h4 id="mask-credential-files">457<h4 id="mask-credential-files">

458 Mask credential files458 Mascare arquivos de credenciais

459</h4>459</h4>

460 460 

461Entradas de arquivo também aceitam `"mode": "mask"`, que requer Claude Code v2.1.221 ou posterior. O que um comando em sandbox vê depende da plataforma:461Entradas de arquivo também aceitam `"mode": "mask"`, que requer Claude Code v2.1.221 ou posterior. O que um comando em sandbox vê depende da plataforma:


501 501 

502 * `warn`, o padrão, avisa e pula a entrada, portanto comandos em sandbox podem ler o arquivo real desmascarado. O padrão se adequa a credenciais que podem estar legitimamente ausentes; se o segredo pode estar presente mas o padrão pode perdê-lo, use `deny`502 * `warn`, o padrão, avisa e pula a entrada, portanto comandos em sandbox podem ler o arquivo real desmascarado. O padrão se adequa a credenciais que podem estar legitimamente ausentes; se o segredo pode estar presente mas o padrão pode perdê-lo, use `deny`

503 * `deny` torna o arquivo ilegível em vez disso503 * `deny` torna o arquivo ilegível em vez disso

504 * `error` para a configuração do sandbox até você corrigir a configuração504 * `error` interrompe a inicialização do sandbox até você corrigir a configuração

505 505 

506 Claude Code trata `deny` como `error` sempre que o bloqueio de leitura não seria aplicado: quando você [desativa o isolamento do sistema de arquivos](#disable-filesystem-isolation), e quando uma entrada `filesystem.allowRead` de qualquer fonte de configuração reabre o caminho do arquivo.506 Claude Code trata `deny` como `error` sempre que o bloqueio de leitura não seria aplicado: quando você [desativa o isolamento do sistema de arquivos](#disable-filesystem-isolation), e quando uma entrada `filesystem.allowRead` de qualquer fonte de configuração reabre o caminho do arquivo.

507* `maskDuplicates` também substitui cópias verbatim de cada valor de credencial mascarado, uma captura `extract` ou um token verificado por `decode`, encontrado fora dos intervalos correspondidos, para um segredo repetido onde a correspondência não alcança. Ele corresponde substrings brutas, portanto um valor curto ou comum seria substituído em todos os lugares que aparece; reserve-o para segredos longos e de alta entropia. Padrão: false.507* `maskDuplicates` também substitui cópias verbatim de cada valor de credencial mascarado, uma captura `extract` ou um token verificado por `decode`, encontrado fora dos intervalos correspondidos, para um segredo repetido onde a correspondência não alcança. Ele corresponde substrings brutas, portanto um valor curto ou comum seria substituído em todos os lugares que aparece; reserve-o para segredos longos e de alta entropia. Padrão: false.


641O [modo auto-allow](#sandbox-modes) do sandbox é separado do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode): auto-allow aprova comandos Bash porque o limite do sandbox os contém, enquanto modo auto usa um classificador para revisar ações. Os dois funcionam independentemente e podem ser combinados. Para escolher um limite de isolamento para execuções autônomas, consulte [Ambientes de sandbox](/docs/pt/sandbox-environments#how-isolation-relates-to-permission-modes). Para uma tabela de emparelhamentos comuns de modo de permissão e sandbox com os sinalizadores que iniciam cada um, consulte [Configurações comuns](/docs/pt/permission-modes#common-setups).641O [modo auto-allow](#sandbox-modes) do sandbox é separado do [modo auto](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode): auto-allow aprova comandos Bash porque o limite do sandbox os contém, enquanto modo auto usa um classificador para revisar ações. Os dois funcionam independentemente e podem ser combinados. Para escolher um limite de isolamento para execuções autônomas, consulte [Ambientes de sandbox](/docs/pt/sandbox-environments#how-isolation-relates-to-permission-modes). Para uma tabela de emparelhamentos comuns de modo de permissão e sandbox com os sinalizadores que iniciam cada um, consulte [Configurações comuns](/docs/pt/permission-modes#common-setups).

642 642 

643<h2 id="configure-the-sandbox-for-your-organization">643<h2 id="configure-the-sandbox-for-your-organization">

644 Configure the sandbox for your organization644 Configure o sandbox para sua organização

645</h2>645</h2>

646 646 

647Administradores podem exigir sandboxing para cada usuário, impedir que desenvolvedores ampliem a política e rotear tráfego de sandbox através de um proxy corporativo.647Administradores podem exigir sandboxing para cada usuário, impedir que desenvolvedores ampliem a política e rotear tráfego de sandbox através de um proxy corporativo.

648 648 

649<h3 id="enforce-sandboxing-with-managed-settings">649<h3 id="enforce-sandboxing-with-managed-settings">

650 Enforce sandboxing with managed settings650 Imponha o sandboxing com configurações gerenciadas

651</h3>651</h3>

652 652 

653Para exigir o sandbox para cada desenvolvedor, entregue as chaves `sandbox` através de [managed settings](/docs/pt/managed-settings#delivery-mechanisms), seja como um arquivo gerenciado pelo seu MDM ou através de [server-managed settings](/docs/pt/server-managed-settings) no Claude.ai.653Para exigir o sandbox para cada desenvolvedor, entregue as chaves `sandbox` através de [managed settings](/docs/pt/managed-settings#delivery-mechanisms), seja como um arquivo gerenciado pelo seu MDM ou através de [server-managed settings](/docs/pt/server-managed-settings) no Claude.ai.


676O sandbox não é executado no Windows nativo, portanto se sua frota inclui hosts Windows, escope esta configuração para macOS e Linux ou tenha esses usuários executarem Claude Code dentro do WSL2 ou um container.676O sandbox não é executado no Windows nativo, portanto se sua frota inclui hosts Windows, escope esta configuração para macOS e Linux ou tenha esses usuários executarem Claude Code dentro do WSL2 ou um container.

677 677 

678<h3 id="keep-developers-from-widening-the-policy">678<h3 id="keep-developers-from-widening-the-policy">

679 Keep developers from widening the policy679 Impeça que desenvolvedores ampliem a política

680</h3>680</h3>

681 681 

682Para chaves booleanas como `enabled` e `failIfUnavailable`, Claude Code usa o valor gerenciado e ignora qualquer coisa que um desenvolvedor defina localmente. Para chaves de array como `excludedCommands` e `allowRead`, Claude Code mescla entradas de cada escopo que a sessão carrega, portanto um desenvolvedor pode anexar entradas que ampliem a política.682Para chaves booleanas como `enabled` e `failIfUnavailable`, Claude Code usa o valor gerenciado e ignora qualquer coisa que um desenvolvedor defina localmente. Para chaves de array como `excludedCommands` e `allowRead`, Claude Code mescla entradas de cada escopo que a sessão carrega, portanto um desenvolvedor pode anexar entradas que ampliem a política.


688`excludedCommands` não tem um equivalente de lockdown apenas gerenciado, portanto um desenvolvedor sempre pode anexar entradas que executem comandos adicionais fora do sandbox. Mantenha a lista gerenciada estreita.688`excludedCommands` não tem um equivalente de lockdown apenas gerenciado, portanto um desenvolvedor sempre pode anexar entradas que executem comandos adicionais fora do sandbox. Mantenha a lista gerenciada estreita.

689 689 

690<h3 id="custom-proxy-configuration">690<h3 id="custom-proxy-configuration">

691 Custom proxy configuration691 Configuração de proxy personalizado

692</h3>692</h3>

693 693 

694Para organizações que exigem segurança de rede avançada, você pode implementar um proxy personalizado para:694Para organizações que exigem segurança de rede avançada, você pode implementar um proxy personalizado para:


727 727 

728 Após a falha, Claude pode [oferecer executar novamente o comando fora do sandbox](#the-unsandboxed-retry-escape-hatch); aprove essa nova tentativa ou execute o comando git você mesmo em outro terminal. Se você definiu `allowUnsandboxedCommands` como `false`, Claude não pode oferecer a nova tentativa, então execute o comando você mesmo. Se o mesmo comando git falhar frequentemente, adicione-o a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).728 Após a falha, Claude pode [oferecer executar novamente o comando fora do sandbox](#the-unsandboxed-retry-escape-hatch); aprove essa nova tentativa ou execute o comando git você mesmo em outro terminal. Se você definiu `allowUnsandboxedCommands` como `false`, Claude não pode oferecer a nova tentativa, então execute o comando você mesmo. Se o mesmo comando git falhar frequentemente, adicione-o a [`excludedCommands`](/docs/pt/settings-reference#sandbox-excludedcommands).

729* **Bubblewrap falha ao iniciar dentro de um container**: em um container sem privilégios, bubblewrap não consegue montar um sistema de arquivos `/proc` fresco, então comandos em sandbox falham com um erro `bwrap` como `Can't mount proc on /newroot/proc: Operation not permitted`. Defina [`enableWeakerNestedSandbox`](/docs/pt/settings-reference#sandbox-enableweakernestedsandbox) como `true` para que o sandbox interno faça bind-mount do `/proc` existente do container em vez disso. Use esta configuração apenas quando o container externo já fornece o limite de isolamento que você precisa, pois expõe informações de processo a comandos em sandbox que uma montagem `/proc` fresca ocultaria.729* **Bubblewrap falha ao iniciar dentro de um container**: em um container sem privilégios, bubblewrap não consegue montar um sistema de arquivos `/proc` fresco, então comandos em sandbox falham com um erro `bwrap` como `Can't mount proc on /newroot/proc: Operation not permitted`. Defina [`enableWeakerNestedSandbox`](/docs/pt/settings-reference#sandbox-enableweakernestedsandbox) como `true` para que o sandbox interno faça bind-mount do `/proc` existente do container em vez disso. Use esta configuração apenas quando o container externo já fornece o limite de isolamento que você precisa, pois expõe informações de processo a comandos em sandbox que uma montagem `/proc` fresca ocultaria.

730* **Arquivos de somente leitura de 0 bytes aparecem em caminhos de configurações `.claude`, e "Sim, e não pergunte novamente" não salva**: no Linux e WSL2, o sandbox mantém uma negação de gravação em um arquivo que ainda não existe criando um espaço reservado de somente leitura de 0 bytes lá enquanto um comando em sandbox é executado. O sandbox remove o espaço reservado depois. Se uma sessão for encerrada antes dessa limpeza ser executada, por exemplo por SIGKILL, os espaços reservados permanecem. Sessões posteriores os vinculam como somente leitura novamente a cada início, então uma gravação de configurações como salvar uma escolha de permissão falha onde um está.

731 

732 Execute `claude doctor` para listar os arquivos de espaço reservado restantes. O aviso [`Stale sandbox mask files left by a killed session`](/docs/pt/errors#stale-sandbox-mask-files-left-by-a-killed-session) nomeia até três deles e conta o resto. Delete cada arquivo com `rm` enquanto nenhuma outra sessão Claude Code está sendo executada nesse projeto. Antes da v2.1.257, Claude Code deixava os mesmos espaços reservados para trás sem sinalizá-los.

730* **`--dangerously-skip-permissions` falha como root**: este sinalizador é bloqueado ao executar como root ou via sudo no Linux e macOS, porque acesso root combinado com nenhum prompt de permissão pode modificar qualquer arquivo ou serviço no sistema. A verificação é ignorada automaticamente dentro de um sandbox reconhecido. Para executar autonomamente em um container, use a configuração [dev container](/docs/pt/devcontainer), que executa Claude Code como um usuário não-root.733* **`--dangerously-skip-permissions` falha como root**: este sinalizador é bloqueado ao executar como root ou via sudo no Linux e macOS, porque acesso root combinado com nenhum prompt de permissão pode modificar qualquer arquivo ou serviço no sistema. A verificação é ignorada automaticamente dentro de um sandbox reconhecido. Para executar autonomamente em um container, use a configuração [dev container](/docs/pt/devcontainer), que executa Claude Code como um usuário não-root.

731 734 

732<h2 id="limitations">735<h2 id="limitations">

Details

17Claude Code offers three ways to schedule recurring or one-off work:17Claude Code offers three ways to schedule recurring or one-off work:

18 18 

19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |19| | [Cloud](/docs/en/routines) | [Desktop](/docs/en/desktop-scheduled-tasks) | [`/loop`](/docs/en/scheduled-tasks) |

20| :------------------------- | :---------------------------------- | :------------------------------------- | :---------------------------------- |20| :------------------------- | :---------------------------------- | :------------------------------------- | :------------------------------------------------------------------------- |

21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |21| Runs on | Cloud, Anthropic-managed by default | Your machine | Your machine |

22| Requires machine on | No | Yes | Yes |22| Requires machine on | No | Yes | Yes |

23| Requires open session | No | No | Yes |23| Requires open session | No | No | Yes |

24| Persistent across restarts | Yes | Yes | Restored on `--resume` if unexpired |24| Persistent across restarts | Yes | Yes | Restored on `--resume`, with [exceptions](/docs/en/scheduled-tasks#limitations) |

25| Access to local files | No (fresh clone) | Yes | Yes |25| Access to local files | No (fresh clone) | Yes | Yes |

26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |26| MCP servers | Connectors configured per task | [Config files](/docs/en/mcp) and connectors | Inherits from session |

27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |27| Permission prompts | No (runs autonomously) | Configurable per task | Inherits from session |


48 48 

49* Comandos integrados como `/permissions`, `/model`, ou `/clear`49* Comandos integrados como `/permissions`, `/model`, ou `/clear`

50* Skills marcadas [`disable-model-invocation: true`](/docs/pt/skills#frontmatter-reference), incluindo a skill agrupada `/verify`50* Skills marcadas [`disable-model-invocation: true`](/docs/pt/skills#frontmatter-reference), incluindo a skill agrupada `/verify`

51* Skills retidas de Claude por uma configuração [`skillOverrides`](/docs/pt/skills#override-skill-visibility-from-settings) ou uma regra de [negação](/docs/pt/skills#restrict-claude's-skill-access) de `Skill`51* Skills retidas de Claude por uma configuração [`skillOverrides`](/docs/pt/skills#override-skill-visibility-from-settings) ou uma regra de [negação](/docs/pt/skills#restrict-claude%E2%80%99s-skill-access) de `Skill`

52* [Prompts MCP](/docs/pt/mcp#use-mcp-prompts-as-commands) como `/mcp__github__list_prs`52* [Prompts MCP](/docs/pt/mcp#use-mcp-prompts-as-commands) como `/mcp__github__list_prs`

53 53 

54<h3 id="run-on-a-fixed-interval">54<h3 id="run-on-a-fixed-interval">


133 Pare um loop133 Pare um loop

134</h3>134</h3>

135 135 

136Para parar um [loop de ritmo próprio](/docs/loop#let-claude-choose-the-interval) enquanto ele está aguardando a próxima iteração, pressione `Esc`. Isso limpa o despertar pendente para que o loop não dispare novamente. As tarefas que você agendou [pedindo a Claude diretamente](#manage-scheduled-tasks) não são afetadas por `Esc` e permanecem no lugar até que você as delete.136Para parar um [`/loop` de ritmo próprio](#let-claude-choose-the-interval) enquanto ele está aguardando a próxima iteração, pressione `Esc`. Isso limpa o despertar pendente para que o loop não dispare novamente. As tarefas que você agendou [pedindo a Claude diretamente](#manage-scheduled-tasks) não são afetadas por `Esc` e permanecem no lugar até que você as delete.

137 137 

138Em [modo de ritmo próprio](#let-claude-choose-the-interval), Claude também pode encerrar o loop por conta própria uma vez que a tarefa está completa. Claude chama a [ferramenta `ScheduleWakeup`](/docs/pt/tools-reference) com `stop: true`, o que cancela o despertar pendente imediatamente. Se uma iteração terminar sem reagendar ou parar, Claude Code agenda um despertar de fallback cerca de 20 minutos depois e encerra o loop quando essa iteração também não reagendar.138Em [modo de ritmo próprio](#let-claude-choose-the-interval), Claude também pode encerrar o loop por conta própria uma vez que a tarefa está completa. Claude chama a [ferramenta `ScheduleWakeup`](/docs/pt/tools-reference) com `stop: true`, o que cancela o despertar pendente imediatamente. Se uma iteração terminar sem reagendar ou parar, Claude Code agenda um despertar de fallback cerca de 20 minutos depois e encerra o loop quando essa iteração também não reagendar.

139 139 

security.md +2 −2

Details

24 24 

25No modo Manual, Claude Code também solicita antes de executar comandos Bash que podem modificar seu sistema. Ele executa um conjunto integrado de [comandos somente leitura](/docs/pt/permissions#read-only-commands) como `ls`, `cat` e `git status` sem solicitar. Você e sua organização configuram essas permissões diretamente.25No modo Manual, Claude Code também solicita antes de executar comandos Bash que podem modificar seu sistema. Ele executa um conjunto integrado de [comandos somente leitura](/docs/pt/permissions#read-only-commands) como `ls`, `cat` e `git status` sem solicitar. Você e sua organização configuram essas permissões diretamente.

26 26 

27No [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), um modelo classificador separado revisa as ações em vez de você e bloqueia as que julga inseguras. [Como o classificador avalia ações](/docs/pt/permission-modes#how-the-classifier-evaluates-actions) lista quais ações Claude Code aprova imediatamente, quais envia ao classificador e quais Claude Code ainda solicita sua aprovação. Suas regras explícitas de permissão e negação ainda se aplicam, e sua organização pode [desativar o modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode).27No [modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode), um modelo classificador separado revisa as ações em vez de você e bloqueia as que julga inseguras. [Como o classificador avalia ações](/docs/pt/permission-modes#how-the-classifier-evaluates-actions) lista quais ações Claude Code aprova imediatamente, quais envia ao classificador e quais Claude Code ainda solicita sua aprovação. Suas regras ask e deny explícitas ainda se aplicam, e sua organização pode [desativar o modo automático](/docs/pt/permission-modes#eliminate-prompts-with-auto-mode).

28 28 

29Qual modo de permissão uma sessão começa depende do seu plano, da superfície a partir da qual você a inicia e de suas configurações e da sua organização; consulte [Permission modes](/docs/pt/permission-modes#which-mode-a-session-starts-in).29Qual modo de permissão uma sessão começa depende do seu plano, da superfície a partir da qual você a inicia e de suas configurações e da sua organização; consulte [Permission modes](/docs/pt/permission-modes#which-mode-a-session-starts-in).

30 30 


60* **Sistema de permissões**: No modo Manual, operações sensíveis requerem aprovação explícita60* **Sistema de permissões**: No modo Manual, operações sensíveis requerem aprovação explícita

61* **Análise com reconhecimento de contexto**: Detecta instruções potencialmente prejudiciais analisando a solicitação completa61* **Análise com reconhecimento de contexto**: Detecta instruções potencialmente prejudiciais analisando a solicitação completa

62* **Sanitização de entrada**: Previne injeção de comando processando entradas do usuário62* **Sanitização de entrada**: Previne injeção de comando processando entradas do usuário

63* **Aprovação de comando de rede**: Comandos que buscam conteúdo da web como `curl` e `wget` não são aprovados automaticamente por padrão. No modo Manual, eles solicitam aprovação como qualquer outro comando Bash não somente leitura, portanto você ainda pode aprovar uma vez ou adicionar uma regra de permissão explícita como `Bash(curl *)`. Para bloqueá-los completamente, adicione-os a [`permissions.deny`](/docs/pt/permissions#tool-specific-permission-rules)63* **Aprovação de comando de rede**: Comandos que buscam conteúdo da web como `curl` e `wget` não são aprovados automaticamente por padrão. No modo Manual, eles solicitam aprovação como qualquer outro comando Bash não somente leitura, portanto você ainda pode aprovar uma vez ou adicionar uma regra de permissão explícita como `Bash(curl *)`. Para impedir que Claude os execute, adicione-os a [`permissions.deny`](/docs/pt/permissions#tool-specific-permission-rules). Uma regra de negação corresponde ao comando [conforme escrito](/docs/pt/permissions#bash-rule-limits); para imposição de rede que não depende do texto do comando, consulte [isolamento de rede sandbox](/docs/pt/sandboxing#network-isolation)

64 64 

65<h3 id="privacy-safeguards">65<h3 id="privacy-safeguards">

66 Proteções de privacidade66 Proteções de privacidade

setup.md +5 −5

Details

47 <Tab title="Native Install (Recommended)">47 <Tab title="Native Install (Recommended)">

48 **macOS, Linux, WSL:**48 **macOS, Linux, WSL:**

49 49 

50 ```bash theme={null} theme={null} theme={null} theme={null}50 ```bash theme={null}

51 curl -fsSL https://claude.ai/install.sh | bash51 curl -fsSL https://claude.ai/install.sh | bash

52 ```52 ```

53 53 

54 **Windows PowerShell:**54 **Windows PowerShell:**

55 55 

56 ```powershell theme={null} theme={null} theme={null} theme={null}56 ```powershell theme={null}

57 irm https://claude.ai/install.ps1 | iex57 irm https://claude.ai/install.ps1 | iex

58 ```58 ```

59 59 

60 **Windows CMD:**60 **Windows CMD:**

61 61 

62 ```batch theme={null} theme={null} theme={null} theme={null}62 ```batch theme={null}

63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```64 ```

65 65 


75 </Tab>75 </Tab>

76 76 

77 <Tab title="Homebrew">77 <Tab title="Homebrew">

78 ```bash theme={null} theme={null} theme={null} theme={null}78 ```bash theme={null}

79 brew install --cask claude-code79 brew install --cask claude-code

80 ```80 ```

81 81 


87 </Tab>87 </Tab>

88 88 

89 <Tab title="WinGet">89 <Tab title="WinGet">

90 ```powershell theme={null} theme={null} theme={null} theme={null}90 ```powershell theme={null}

91 winget install Anthropic.ClaudeCode91 winget install Anthropic.ClaudeCode

92 ```92 ```

93 93 

Details

80Todos esses aceitam o mesmo formato de regra, `ToolName(specifier)`. O especificador depende da ferramenta, e várias ferramentas compartilham um formato:80Todos esses aceitam o mesmo formato de regra, `ToolName(specifier)`. O especificador depende da ferramenta, e várias ferramentas compartilham um formato:

81 81 

82| Formato de regra | Aplica-se a | Detalhes |82| Formato de regra | Aplica-se a | Detalhes |

83| :----------------------------- | :------------------------ | :---------------------------------------------------------------------------- |83| :----------------------------- | :------------------------ | :------------------------------------------------------------------------------------ |

84| `Bash(npm run *)` | Bash, Monitor | [Correspondência de padrão de comando](/docs/pt/permissions#bash) |84| `Bash(npm run *)` | Bash, Monitor | [Correspondência de padrão de comando](/docs/pt/permissions#bash) |

85| `PowerShell(Get-ChildItem *)` | PowerShell | [Correspondência de padrão de comando](/docs/pt/permissions#powershell) |85| `PowerShell(Get-ChildItem *)` | PowerShell | [Correspondência de padrão de comando](/docs/pt/permissions#powershell) |

86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Correspondência de padrão de caminho](/docs/pt/permissions#read-and-edit) |86| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [Correspondência de padrão de caminho](/docs/pt/permissions#read-and-edit) |

87| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Correspondência de padrão de caminho](/docs/pt/permissions#read-and-edit) |87| `Edit(/src/**)` | Edit, Write, NotebookEdit | [Correspondência de padrão de caminho](/docs/pt/permissions#read-and-edit) |

88| `Skill(deploy *)` | Skill | [Correspondência de nome de skill](/docs/pt/skills#restrict-claude's-skill-access) |88| `Skill(deploy *)` | Skill | [Correspondência de nome de skill](/docs/pt/skills#restrict-claude%E2%80%99s-skill-access) |

89| `Agent(Explore)` | Agent | [Correspondência de tipo de subagent](/docs/pt/permissions#agent-subagents) |89| `Agent(Explore)` | Agent | [Correspondência de tipo de subagent](/docs/pt/permissions#agent-subagents) |

90| `WebFetch(domain:example.com)` | WebFetch | [Correspondência de domínio](/docs/pt/permissions#webfetch) |90| `WebFetch(domain:example.com)` | WebFetch | [Correspondência de domínio](/docs/pt/permissions#webfetch) |

91| `WebSearch` | WebSearch | Sem especificador; permitir ou negar a ferramenta como um todo |91| `WebSearch` | WebSearch | Sem especificador; permitir ou negar a ferramenta como um todo |

Details

4 4 

5# Semana 25 · 15–19 de junho de 20265# Semana 25 · 15–19 de junho de 2026

6 6 

7> Publique uma página ao vivo e compartilhável a partir de sua sessão com Artifacts, corresponda parâmetros de ferramentas em regras de negação e permissão, e defina qualquer configuração a partir do prompt com /config.7> Publique uma página ao vivo e compartilhável a partir de sua sessão com Artifacts, corresponda parâmetros de ferramentas em regras deny e ask, e defina qualquer configuração a partir do prompt com /config.

8 8 

9<div className="digest-meta">9<div className="digest-meta">

10 <span>Lançamentos <a href="/docs/en/changelog#2-1-178">v2.1.178 → v2.1.183</a></span>10 <span>Lançamentos <a href="/docs/en/changelog#2-1-178">v2.1.178 → v2.1.183</a></span>


37 <span className="digest-feature-pill">v2.1.178</span>37 <span className="digest-feature-pill">v2.1.178</span>

38 </div>38 </div>

39 39 

40 <p className="digest-feature-lede">As regras de negação e permissão agora podem corresponder aos parâmetros de entrada de uma ferramenta com a sintaxe <code>Tool(param:value)</code>. Por exemplo, <code>Agent(model:opus)</code> corresponde a spawns de subagentes que solicitam o nível de modelo Opus. O valor aceita `*` como um curinga, então `Agent(isolation:*)` corresponde a qualquer valor de isolamento explícito.</p>40 <p className="digest-feature-lede">As regras de permissão deny e ask agora podem corresponder aos parâmetros de entrada de uma ferramenta com a sintaxe <code>Tool(param:value)</code>. Por exemplo, <code>Agent(model:opus)</code> corresponde a spawns de subagentes que solicitam o nível de modelo Opus. O valor aceita `*` como um curinga, então `Agent(isolation:*)` corresponde a qualquer valor de isolamento explícito.</p>

41 41 

42 <p className="digest-feature-try">Adicione uma regra de parâmetro à lista de negação em <code>settings.json</code>:</p>42 <p className="digest-feature-try">Adicione uma regra de parâmetro à lista de negação em <code>settings.json</code>:</p>

43 43