SpyBara
Go Premium

Documentation 2026-11-12 23:02 UTC to 2026-11-13 01:02 UTC

10 files changed +23 −47. View all changes and history on the product overview
2026
Fri 13 01:02 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

315 {315 {

316 "matcher": "Edit|Write",316 "matcher": "Edit|Write",

317 "hooks": [317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }318 { "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }

319 ]319 ]

320 }320 }

321 ]321 ]

Details

92 92 

93Além do binário, a imagem precisa:93Além do binário, a imagem precisa:

94 94 

95* **Uma imagem baseada em glibc**: a compilação glibc tem apenas dependências dinâmicas de bibliotecas glibc. Imagens baseadas em Musl precisam da compilação `linux-x64-musl` ou `linux-arm64-musl` mais pacotes adicionais; consulte [Configuração do Alpine Linux](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).95* **Uma imagem baseada em glibc**: as únicas dependências dinâmicas do build glibc são bibliotecas glibc. Imagens baseadas em Musl precisam do build `linux-x64-musl` ou `linux-arm64-musl`, cuja única dependência dinâmica é a musl.

96* **Um diretório de estado gravável**: o gateway é executado como qualquer usuário, mas imagens mínimas não têm home gravável. Defina `CLAUDE_CONFIG_DIR` para um caminho gravável como `/tmp/.claude`.96* **Um diretório de estado gravável**: o gateway é executado como qualquer usuário, mas imagens mínimas não têm home gravável. Defina `CLAUDE_CONFIG_DIR` para um caminho gravável como `/tmp/.claude`.

97* **O comando do contêiner**: `claude gateway --config /etc/claude/gateway.yaml`, com o arquivo de configuração montado como somente leitura e segredos fornecidos como variáveis de ambiente; o gateway escuta em `listen.port`, padrão `8080`.97* **O comando do contêiner**: `claude gateway --config /etc/claude/gateway.yaml`, com o arquivo de configuração montado como somente leitura e segredos fornecidos como variáveis de ambiente; o gateway escuta em `listen.port`, padrão `8080`.

98 98 

hooks.md +1 −1

Details

3335 "hooks": [3335 "hooks": [

3336 {3336 {

3337 "type": "command",3337 "type": "command",

3338 "command": "bash -c 'jq -r .worktree_path | xargs rm -rf'"3338 "command": "bash -c 'p=$(jq -er .worktree_path) && rm -rf -- \"$p\"'"

3339 }3339 }

3340 ]3340 ]

3341 }3341 }

hooks-guide.md +2 −2

Details

50 "PostToolUse": [50 "PostToolUse": [

51 {51 {

52 "matcher": "Edit|Write",52 "matcher": "Edit|Write",

53 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]53 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }]

54 }54 }

55 ],55 ],

56 "Notification": [56 "Notification": [


221 "hooks": [221 "hooks": [

222 {222 {

223 "type": "command",223 "type": "command",

224 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"224 "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\""

225 }225 }

226 ]226 ]

227 }227 }

Details

32| `Ctrl+Z` | Suspender Claude Code | Apenas Unix. Suspende o processo para seu shell; execute `fg` para retomar |32| `Ctrl+Z` | Suspender Claude Code | Apenas Unix. Suspende o processo para seu shell; execute `fg` para retomar |

33| `Setas Esquerda/Direita` | Ciclar através de abas de diálogo | Navegue entre abas em diálogos de permissão e menus. Em um diálogo com abas, as teclas alternam abas enquanto a linha de abas tem foco. Consulte [Ações de abas](https://code.claude.com/docs/pt/keybindings.md#tabs-actions) para saber como o foco se move |33| `Setas Esquerda/Direita` | Ciclar através de abas de diálogo | Navegue entre abas em diálogos de permissão e menus. Em um diálogo com abas, as teclas alternam abas enquanto a linha de abas tem foco. Consulte [Ações de abas](https://code.claude.com/docs/pt/keybindings.md#tabs-actions) para saber como o foco se move |

34| `Tab` | Aceitar uma sugestão de preenchimento automático ou adicionar um comentário a uma resposta de permissão | Enquanto as sugestões de preenchimento automático estão sendo mostradas na entrada do prompt, aceita a sugestão selecionada. Na maioria dos prompts de permissão, com **Sim** ou **Não** focado, abre um campo de comentário nessa opção, e pressioná-lo novamente fecha o campo. Consulte [adicionar um comentário quando você responde a um prompt de permissão](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |34| `Tab` | Aceitar uma sugestão de preenchimento automático ou adicionar um comentário a uma resposta de permissão | Enquanto as sugestões de preenchimento automático estão sendo mostradas na entrada do prompt, aceita a sugestão selecionada. Na maioria dos prompts de permissão, com **Sim** ou **Não** focado, abre um campo de comentário nessa opção, e pressioná-lo novamente fecha o campo. Consulte [adicionar um comentário quando você responde a um prompt de permissão](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

35| `Setas Para Cima/Para Baixo` ou `Ctrl+P`/`Ctrl+N` | Mover cursor ou navegar no histórico de comandos | Quando a entrada abrange mais de uma linha visual, seja envolvida ou multilinha, primeiro move o cursor dentro do prompt. Uma vez que o cursor está na primeira ou última linha visual, pressioná-lo novamente navega no histórico de comandos. Enquanto você tem mensagens enfileiradas, `Para Cima` da primeira linha em vez disso [as retira](#take-back-what-you-queued) |35| `Setas Para Cima/Para Baixo` ou `Ctrl+P`/`Ctrl+N` | Mover cursor ou navegar no histórico de comandos | Quando a entrada abrange mais de uma linha visual, seja envolvida ou multilinha, primeiro move o cursor dentro do prompt. Uma vez que o cursor está na primeira ou última linha visual, pressioná-lo novamente navega no histórico de comandos. Enquanto você tem mensagens enfileiradas, `Up` da primeira linha em vez disso [as retira](#take-back-what-you-queued) |

36| `Esc` | Interromper Claude ou fechar um diálogo | Pare a resposta atual ou chamada de ferramenta no meio da volta para que você possa redirecionar. Claude mantém o trabalho feito até agora. Se você tiver [mensagens enfileiradas](#queue-messages-while-claude-works), Claude Code as envia a seguir. Quando um diálogo está aberto, `Esc` fecha o diálogo. Enquanto um item de rodapé está selecionado, como uma linha no [painel de subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) abaixo do prompt, `Esc` [o deseleciona](https://code.claude.com/docs/pt/keybindings.md#footer-actions) em vez de interromper. Em um prompt de permissão, `Esc` recusa a ação, o mesmo que [**Não** sem um comentário](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |36| `Esc` | Interromper Claude ou fechar um diálogo | Pare a resposta atual ou chamada de ferramenta no meio da volta para que você possa redirecionar. Claude mantém o trabalho feito até agora. Se você tiver [mensagens enfileiradas](#queue-messages-while-claude-works), Claude Code as envia a seguir. Quando um diálogo está aberto, `Esc` fecha o diálogo. Enquanto um item de rodapé está selecionado, como uma linha no [painel de subagente](https://code.claude.com/docs/pt/sub-agents.md#run-subagents-in-foreground-or-background) abaixo do prompt, `Esc` [o deseleciona](https://code.claude.com/docs/pt/keybindings.md#footer-actions) em vez de interromper. Em um prompt de permissão, `Esc` recusa a ação, o mesmo que [**Não** sem um comentário](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

37| `Esc` + `Esc` | Limpar rascunho de entrada ou retroceder | Quando a entrada do prompt contém texto, duplo `Esc` limpa-o e salva o rascunho no histórico para que `Para Cima` o recupere. Quando a entrada está vazia, duplo `Esc` abre o [menu de retrocesso](https://code.claude.com/docs/pt/checkpointing.md) para restaurar ou resumir código e conversa de um ponto anterior |37| `Esc` + `Esc` | Limpar rascunho de entrada ou retroceder | Quando a entrada do prompt contém texto, duplo `Esc` limpa-o e salva o rascunho no histórico para que `Up` o recupere. Quando a entrada está vazia, duplo `Esc` abre o [menu de retrocesso](https://code.claude.com/docs/pt/checkpointing.md) para restaurar ou resumir código e conversa de um ponto anterior |

38| `Ctrl+Enter` ou `Ctrl+X Ctrl+S` | Enviar mensagens enfileiradas agora | Envia suas [mensagens enfileiradas](#queue-messages-while-claude-works) e seu rascunho com elas imediatamente. [Quando Claude Code envia o que você enfileirou](#when-claude-code-sends-what-you-queued) cobre o que acontece com a volta em que Claude está trabalhando. No [modo shell](#shell-mode-with-prefix), a tecla apenas enfileira seu comando. Em terminais que não relatam chaves estendidas, `Ctrl+Enter` chega como `Enter` simples; `Ctrl+X Ctrl+S` funciona em qualquer terminal. Requer Claude Code v2.1.275 ou posterior |38| `Ctrl+Enter` ou `Ctrl+X Ctrl+S` | Enviar mensagens enfileiradas agora | Envia suas [mensagens enfileiradas](#queue-messages-while-claude-works) e seu rascunho com elas imediatamente. [Quando Claude Code envia o que você enfileirou](#when-claude-code-sends-what-you-queued) cobre o que acontece com a volta em que Claude está trabalhando. No [modo shell](#shell-mode-with-prefix), a tecla apenas enfileira seu comando. Em terminais que não relatam chaves estendidas, `Ctrl+Enter` chega como `Enter` simples; `Ctrl+X Ctrl+S` funciona em qualquer terminal. Requer Claude Code v2.1.275 ou posterior |

39| `Shift+Tab`, ou `Alt+M` no Windows quando o runtime Node ou Bun não ativa o modo de entrada VT | Ciclar modos de permissão | Cicle através de `default` (rotulado Manual no indicador de modo), `acceptEdits`, `plan` e, quando disponível, `bypassPermissions` e depois `auto`. De `auto`, o primeiro pressionamento muda para `default`. Consulte [modos de permissão](https://code.claude.com/docs/pt/permission-modes.md). Em um prompt de permissão de arquivo, a mesma tecla fecha um [campo de comentário](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) aberto. Sem campo aberto, seleciona a opção que permite a ação para o resto da sessão, quando o prompt oferece essa opção |39| `Shift+Tab`, ou `Alt+M` no Windows quando o runtime Node ou Bun não ativa o modo de entrada VT | Ciclar modos de permissão | Cicle através de `default` (rotulado Manual no indicador de modo), `acceptEdits` e `plan`, depois `bypassPermissions` e `auto` quando disponíveis. Consulte [modos de permissão](https://code.claude.com/docs/pt/permission-modes.md). Em um prompt de permissão de arquivo, a mesma tecla fecha um [campo de comentário](https://code.claude.com/docs/pt/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) aberto. Sem campo aberto, seleciona a opção que permite a ação para o resto da sessão, quando o prompt oferece essa opção. No prompt de aprovação do plano, aprova o plano |

40| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Alternar modelo | Alterne modelos sem limpar seu prompt |40| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Alternar modelo | Alterne modelos sem limpar seu prompt |

41| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Alternar pensamento estendido | Ativar ou desativar o modo de pensamento estendido. Não tem efeito no Opus 5.5, Sonnet 5.5, Haiku 5.5 ou nos modelos Fable, que sempre usam pensamento estendido. Funciona no macOS sem configurar Option como Meta |41| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Alternar pensamento estendido | Ativar ou desativar o modo de pensamento estendido. Não tem efeito no Opus 5.5, Sonnet 5.5, Haiku 5.5 ou nos modelos Fable, que sempre usam pensamento estendido. Funciona no macOS sem configurar Option como Meta |

42| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Alternar modo rápido | Ativar ou desativar [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) |42| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Alternar modo rápido | Ativar ou desativar [modo rápido](https://code.claude.com/docs/pt/fast-mode.md) |

Details

304claude --permission-mode plan304claude --permission-mode plan

305```305```

306 306 

307Pressione `Shift+Tab` novamente para sair do modo de planejamento sem aprovar um plano.307Sem nenhum prompt de aprovação aberto, pressione `Shift+Tab` novamente para sair do modo de planejamento. No prompt de aprovação, pressione `Esc` primeiro, pois pressionar `Shift+Tab` ali aprova o plano.

308 308 

309### Revise e aprove um plano309### Revise e aprove um plano

310 310 

Details

344 "PostToolUse": [344 "PostToolUse": [

345 {345 {

346 "matcher": "Write|Edit",346 "matcher": "Write|Edit",

347 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]347 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npm run lint:fix -- \"$f\"" }]

348 }348 }

349 ]349 ]

350 }350 }

setup.md +8 −26

Details

40>40>

41> **macOS, Linux, WSL:**41> **macOS, Linux, WSL:**

42>42>

43> ```bash theme={null}43> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null}51> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null}57> ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null}75> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null}87> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>


141 141 

142### Alpine Linux e distribuições baseadas em musl142### Alpine Linux e distribuições baseadas em musl

143 143 

144Instalar Claude Code no Alpine e outras distribuições baseadas em musl/uClibc requer `bash` e `curl` para o comando de instalação, e `libgcc`, `libstdc++` e `ripgrep` em tempo de execução. O Alpine não inclui `bash` ou `curl` por padrão, portanto o comando de instalação documentado falha com um erro `not found` até que você os instale. Instale esses pacotes usando o gerenciador de pacotes da sua distribuição e defina `USE_BUILTIN_RIPGREP=0`.144No Alpine e em outras distribuições baseadas em musl, o [comando de instalação](#install-claude-code) requer `bash` e `curl`, e o próprio Claude Code requer `bash` ou `zsh`. O Alpine não inclui `bash` ou `curl` por padrão, portanto o comando de instalação documentado falha com um erro `not found` até que você os instale.

145 145 

146Este exemplo instala os pacotes necessários no Alpine:146Este exemplo instala os pacotes necessários no Alpine:

147 147 

148```bash theme={null}148```bash theme={null}

149apk add bash curl libgcc libstdc++ ripgrep149apk add bash curl

150```

151 

152No Alpine, `ripgrep` está no repositório community. Se `apk` relatar que o pacote está faltando, adicione o repositório community a `/etc/apk/repositories`, usando sua versão do Alpine:

153 

154```bash theme={null}

155echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

156```

157 

158Execute `apk update` para atualizar o índice de pacotes e tente novamente o comando `apk add`.

159 

160Em seguida, defina `USE_BUILTIN_RIPGREP` como `0` em seu arquivo [`settings.json`](https://code.claude.com/docs/pt/settings-reference#all-settings):

161 

162```json theme={null}

163{

164 "env": {

165 "USE_BUILTIN_RIPGREP": "0"

166 }

167}

168```150```

169 151 

170## Verificar sua instalação152## Verificar sua instalação


443> wget -O /etc/apk/keys/claude-code.rsa.pub \425> wget -O /etc/apk/keys/claude-code.rsa.pub \

444> https://downloads.claude.ai/keys/claude-code.rsa.pub426> https://downloads.claude.ai/keys/claude-code.rsa.pub

445> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories427> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

446> apk add claude-code428> apk add bash claude-code

447> ```429> ```

448>430>

449> Para mudar para o canal `latest`, remova a linha do repositório `stable` e adicione o repositório `latest`:431> Para mudar para o canal `latest`, remova a linha do repositório `stable` e adicione o repositório `latest`:

Details

388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391No Linux, verifique se há bibliotecas compartilhadas ausentes. Se `ldd` mostrar bibliotecas ausentes, você pode precisar instalar pacotes do sistema. No Alpine Linux e outras distribuições baseadas em musl, consulte [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).391No Linux, verifique se há bibliotecas compartilhadas ausentes. Se `ldd` mostrar bibliotecas ausentes, você pode precisar instalar pacotes do sistema. No Alpine Linux e outras distribuições baseadas em musl, consulte [Incompatibilidade de binário musl ou glibc no Linux](#linux-musl-or-glibc-binary-mismatch).

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


906 906 

907### Linux musl or glibc binary mismatch907### Linux musl or glibc binary mismatch

908 908 

909Se você vir erros sobre bibliotecas compartilhadas ausentes como `libstdc++.so.6` ou `libgcc_s.so.1` após a instalação, o instalador pode ter baixado a variante binária errada para seu sistema.909Se você vir erros sobre bibliotecas compartilhadas ausentes como `ld-linux-x86-64.so.2` ou `ld-linux-aarch64.so.1` após a instalação, o instalador pode ter baixado a variante binária errada para seu sistema.

910 910 

911```text theme={null}911```text theme={null}

912Error loading shared library libstdc++.so.6: No such file or directory912Error loading shared library ld-linux-x86-64.so.2: No such file or directory

913```913```

914 914 

915Isso pode acontecer em sistemas baseados em glibc que têm pacotes de compilação cruzada musl instalados, fazendo o instalador detectar incorretamente o sistema como musl.

916 

917**Soluções:**915**Soluções:**

918 916 

9191. **Verifique qual libc seu sistema usa**:9171. **Verifique qual libc seu sistema usa**:


924 922 

9252. **Se você estiver em glibc mas recebeu o binário musl**, remova a instalação e reinstale. Você também pode baixar manualmente o binário correto usando o manifesto em `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Abra um [GitHub issue](https://github.com/anthropics/claude-code/issues) com a saída de `ldd --version` e `ls /lib/libc.musl*`.9232. **Se você estiver em glibc mas recebeu o binário musl**, remova a instalação e reinstale. Você também pode baixar manualmente o binário correto usando o manifesto em `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Abra um [GitHub issue](https://github.com/anthropics/claude-code/issues) com a saída de `ldd --version` e `ls /lib/libc.musl*`.

926 924 

9273. **Se você estiver realmente em musl**, como Alpine Linux, instale os pacotes necessários:9253. **Se você estiver em musl mas recebeu o binário glibc**, [remova a instalação](https://code.claude.com/docs/pt/setup.md#uninstall-claude-code). No Alpine Linux, primeiro instale os pacotes que a [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions) indica. Depois execute o [comando de instalação](https://code.claude.com/docs/pt/setup.md#install-claude-code), que instala o binário musl.

928 ```bash theme={null}

929 apk add libgcc libstdc++ ripgrep

930 ```

931 No Alpine, `ripgrep` está no repositório community. Se `apk` relatar que o pacote está faltando, consulte [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).

932 926 

933### `Illegal instruction`927### `Illegal instruction`

934 928 

Details

152> apk add ripgrep152> apk add ripgrep

153> ```153> ```

154>154>

155> `ripgrep` está no repositório community do Alpine. Se `apk` relatar que o pacote está faltando, veja [Alpine Linux setup](https://code.claude.com/docs/pt/setup.md#alpine-linux-and-musl-based-distributions).155> `ripgrep` está no repositório community do Alpine.

156 156 

157> [tab] Arch157> [tab] Arch

158>158>