O Code Mode é experimental e fica desativado por padrão. Ele pode mudar ou ser removido em qualquer versão. Para compartilhar feedback, execute
/feedback.Como o Code Mode funciona
Em uma sessão do Code Mode, você ainda descreve sua tarefa em um prompt, e Claude escreve JavaScript para realizá-la. Um único trecho de código pode executar comandos em paralelo, usar um resultado na chamada seguinte e retornar a parte da saída que Claude precisa ler. Por exemplo, se você pedir a Claude para aumentar um limite de novas tentativas, Claude pode escrever este código para encontrar o arquivo, editá-lo e executar os testes. A última linha retorna a Claude o caminho do arquivo e a saída dos testes:Ctrl+O para abrir o visualizador de transcrição. Cada trecho de código aparece ali como uma linha Code recolhida, com uma dica de como expandi-la.
Quando usar o Code Mode
Experimente o Code Mode em tarefas que exigem muitas chamadas de ferramenta relacionadas, como:- Uma alteração que se repete em muitos arquivos
- Uma pesquisa cujos resultados precisam ser filtrados antes que Claude os leia
- Vários comandos independentes que podem ser executados ao mesmo tempo
Limitações do Code Mode
Antes de ativar o Code Mode, verifique se você pode aceitar estas limitações:- Retomada: você pode retomar uma sessão do Code Mode apenas no terminal, com o Code Mode ativado
- Modo auto: o classificador do modo auto revisa o código, não cada chamada de ferramenta
- Código de longa duração: a menos que o código possa ser executado em segundo plano, você espera que ele termine, e ele é interrompido após dez minutos
- Hooks: você pode ver chamadas de ferramenta recusadas quando um hook
PreToolUsenão consegue ser executado ou atinge o timeout, e saída de código bloqueada por um hookUserPromptSubmit - Recursos indisponíveis: você não pode usar Remote Control, Claude in Chrome nem uso do computador
- Mover a sessão: você não pode mover a sessão para o aplicativo Desktop nem transformá-la em uma sessão em segundo plano, e
/forknão consegue iniciar uma cópia em segundo plano
Requisitos
- Versão: Claude Code v2.1.323 ou posterior, em qualquer um dos canais de lançamento. Uma versão mais antiga inicia sem o Code Mode, com ou sem o motivo
it isn't open to your account yet - Conta: uma assinatura do Claude ou uma conta do Console. Você não pode usar o Code Mode por meio de um gateway, Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud ou Microsoft Foundry
- Organização: sua organização não usa a configuração HIPAA nem retenção zero de dados
- Modelo: Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 ou Fable 5.2
- Superfície: uma sessão interativa do
claudeem um terminal. O Code Mode não funciona com-p, o Agent SDK, o painel do VS Code, o aplicativo Desktop ou sessões na nuvem - Instalação: o build nativo do Claude Code
- Windows: o Git for Windows está instalado
DISABLE_TELEMETRY. Para a correção de cada uma, consulte O Code Mode não inicia.
Experimente o Code Mode
Ative o Code Mode, dê uma tarefa a Claude e veja o código que Claude escreveu.1
Verifique sua versão
Execute
claude --version. Se a versão for anterior à v2.1.323, execute claude update. Se você estiver no canal stable e a atualização não chegar à v2.1.323, aguarde o stable alcançá-la ou mude para latest.2
Inicie o Claude Code com o Code Mode ativado
Defina a variável de ambiente
CLAUDE_CODE_EXPERIMENTAL_CODE_MODE como 1. Para experimentar o Code Mode, defina-a no seu shell. Para ativar o Code Mode em todas as novas sessões, defina-a nas suas configurações de usuário.- macOS, Linux, WSL
- Windows PowerShell
- settings.json
3
Confirme que você quer o Code Mode
O Claude Code pede que você confirme antes da sua primeira sessão do Code Mode. Selecione Yes, turn on Code Mode. O Claude Code é reiniciado e mostra esta linha perto do topo da sessão:Se você vir uma linha diferente ou nenhuma, consulte O Code Mode não inicia.
4
Dê a Claude uma tarefa com muitas chamadas de ferramenta
Em um projeto que você conhece, envie um prompt como este:
5
Leia o código que Claude escreveu
Pressione
Ctrl+O e expanda uma linha Code para ver o JavaScript por trás das chamadas de ferramenta. Pressione Ctrl+O novamente para voltar à conversa.Desativar o Code Mode
RemovaCLAUDE_CODE_EXPERIMENTAL_CODE_MODE do seu shell e de ~/.claude/settings.json e, em seguida, inicie uma nova sessão. Você também pode manter a variável e alterar seu valor para 0 em qualquer um dos dois lugares. Com um 0 em um dos lugares, o Code Mode permanece desativado mesmo que você defina 1 no outro.
Bloquear o Code Mode para sua organização
AdicioneCLAUDE_CODE_EXPERIMENTAL_CODE_MODE com o valor 0 às suas configurações gerenciadas para que ninguém na sua organização possa usar o Code Mode:
0 estiver em vigor. Você não pode ativar o Code Mode para seus usuários a partir das configurações gerenciadas.
Permissões e código de longa duração
Seu modo de permissão decide como o código de Claude é verificado e se você pode conversar com Claude enquanto o código é executado.Verificações de permissão
Cada chamada de ferramenta que o código de Claude faz passa pelas suas regras de permissãodeny e ask e pelos seus hooks PreToolUse. Você não precisa alterar uma regra ou um matcher para uma ferramenta como Bash. Além das regras e dos hooks, um classificador revisa o código no modo auto, e você responde aos prompts nos modos que pedem confirmação:
- Modo auto: o classificador revisa cada trecho de código antes de ser executado, não cada chamada de ferramenta. Ele não vê valores calculados em tempo de execução, como um caminho obtido da saída de uma pesquisa, portanto mantenha regras ou hooks para as chamadas que você precisa controlar. Você ainda pode receber prompts quando um novo código começa enquanto um código anterior está em execução
- Outros modos de permissão: o código começa sem revisão, e você recebe um prompt para cada chamada de ferramenta que solicitaria sua confirmação nesse modo
PreToolUse que corresponda a REPL, a ferramenta que executa o código de Claude, e leia o JavaScript de tool_input.code.
Código de longa duração
Enquanto o código executa um build ou teste demorado, Claude espera por ele ou o deixa continuar em segundo plano:- Esperando: Claude responde depois que o código termina, e o código é interrompido após dez minutos, incluindo o tempo que você passa nos prompts de permissão
- Segundo plano: você pode continuar conversando com Claude, e o código pode ser executado por até duas horas
bypassPermissions. Se Claude ainda esperar, verifique seu modo atual e como você iniciou a sessão:
- Você mudou para outro modo: pressione
Shift+Tabaté voltar ao modo em que você começou - Você começou em outro modo ou escolheu a sessão na lista do
claude --resume: se o modo auto estiver disponível para você, saia e, em seguida, executeclaude --continue --permission-mode autocom o Code Mode ativado - Você passou nomes de ferramentas para
--tools: comece novamente no modo auto sem essa flag
Solução de problemas
O Code Mode não inicia
Code Mode (experimental) isn't available perto do topo da sessão significa que o Claude Code foi iniciado sem o Code Mode. O motivo aparece em seguida na mesma linha, e /status também o mostra. Encontre o motivo nesta tabela, faça a alteração e inicie uma nova sessão. Para um motivo que não está listado, verifique os requisitos.
Se você não vir nenhuma linha sobre o Code Mode, execute
claude --version. Se sua versão for anterior à v2.1.323, atualize. Em seguida, verifique se CLAUDE_CODE_EXPERIMENTAL_CODE_MODE está como 1 no seu shell ou nas suas configurações de usuário e remova qualquer 0 desses lugares e de qualquer arquivo --settings.
Prompt de permissão com uma contagem regressiva
Quando Claude inicia mais código no modo auto enquanto um código anterior ainda está em execução, o código anterior perde a revisão do classificador. O Claude Code então pergunta a você sobre as chamadas restantes do código anterior que precisariam de revisão. Sem um IDE conectado, o prompt mostra uma contagem regressiva:Chamada de ferramenta recusada por um hook
Se Claude relatar uma chamada de ferramenta recusada, peça a ele o texto do erro. Estes erros significam que um hookPreToolUse não deu uma decisão, o que recusa a chamada mesmo quando onFailure não está definido:
the hook failed: em uma chamada do código de Claude, seu hook não conseguiu iniciar, foi encerrado, saiu com 126, 127 ou um código acima de 128, ou retornou um erro HTTP ou uma saída inválida. Corrija o hookthe hook did not finish: seu hook atingiu o timeout em uma chamada do código de Claude, ou em qualquer outra chamada de ferramenta depois que Claude executou código na sessão. Aumente otimeoutdo hook
command ou http falha ou atinge o timeout, defina "onFailure": "continue" nele. Se um hook command sair com um código comum, como 1, a chamada prossegue, a menos que você defina "onFailure": "block".
Saída de código retida por um hook
Se Claude relatar o motivo de bloqueio de um hook onde você esperava a saída do código de Claude, verifique seus hooksUserPromptSubmit. Quando o código pode ser executado em segundo plano, os hooks command, http e mcp_tool nesse evento também são executados sobre a saída do código. Para deixar a saída passar, altere o hook para que ele não bloqueie quando source na sua entrada for poll_event.
Recursos relacionados
- Modos de permissão: compare o modo auto com os modos que pedem sua confirmação
- Referência de hooks: escreva hooks
PreToolUseeUserPromptSubmit - Configurações gerenciadas: aplique uma configuração em toda uma organização