command not found ou falhas de TLS durante a configuração, consulte Solucionar problemas de instalação e login.
Exceto pelos erros de Wrapper e IDE, que o programa de inicialização imprime em vez do próprio Claude Code, esses erros e comandos de recuperação se aplicam em toda a CLI, no aplicativo Desktop e sessões na nuvem, já que todos os três envolvem o mesmo CLI do Claude Code. Para outros problemas específicos da superfície, consulte a seção de solução de problemas na página dessa superfície.
O Claude Code chama a API Claude para respostas de modelo, portanto, a maioria dos erros de tempo de execução mapeia para um código de erro de API subjacente. Esta página cobre o que cada erro significa dentro do Claude Code e como se recuperar. Para as definições de código de status HTTP bruto, consulte a referência de erro da Plataforma Claude.
Encontre seu erro
Corresponda a mensagem que você vê a uma seção abaixo.Tentativas automáticas
Claude Code tenta novamente falhas transitórias até 10 vezes com backoff exponencial antes de mostrar um erro. Nem sempre tenta novamente uma falha que chega no meio da resposta do Claude. Quando você vê um dos erros nesta página, Claude Code já fez as tentativas que se aplicam a essa falha. Claude Code tenta novamente estas falhas:- Erros de servidor, respostas sobrecarregadas e timeouts de requisição que chegam antes de qualquer parte da resposta do Claude ter sido transmitida.
- Um erro de servidor ou resposta sobrecarregada que chega depois que Claude terminou de pensar, mas antes de ter iniciado qualquer texto ou chamada de ferramenta. Claude Code tenta novamente um erro de servidor nesse ponto até duas vezes. Antes da v2.1.284, Claude Code encerrava o turno com o erro nesse ponto.
- Conexões perdidas. Quando uma conexão cai no meio de uma requisição antes de Claude ter completado qualquer parte de sua resposta, incluindo seu pensamento, Claude Code reemite a requisição com o mesmo backoff e o turno continua, mesmo que algum texto já tivesse começado a ser transmitido. Quando cai depois que Claude terminou de pensar mas antes de ter iniciado qualquer texto ou chamada de ferramenta, Claude Code em vez disso reemite a requisição até duas vezes em rápida sucessão, e encerra o turno com
Connection lost before a response was producedse a conexão continuar caindo nesse ponto. - Uma conexão que Claude Code detecta que foi quebrada pelo seu computador entrando em modo de suspensão no meio de uma requisição. Claude Code a conta como uma conexão perdida sob as regras acima; uma vez que o rótulo de nova tentativa nomeia a razão específica, ele exibe
Connection lost while your computer was asleep, e se o turno terminar depois que Claude terminou de pensar mas antes de qualquer texto ou chamada de ferramenta, a mensagem exibeYour computer went to sleep before a response was produced. - Um fluxo de resposta travado, quando os cabeçalhos de resposta chegaram mas nenhuma parte da resposta do Claude chegou, ou quando Claude terminou de pensar mas não iniciou qualquer texto ou chamada de ferramenta: Claude Code aborta a conexão travada e transmite a requisição novamente no máximo uma vez. Se a resposta travar uma segunda vez depois que Claude terminou de pensar mas antes de qualquer texto ou chamada de ferramenta, Claude Code encerra o turno com
The response stalled before a response was produced. - Uma requisição de streaming que a API nunca responde com cabeçalhos de resposta, em uma conexão onde o prazo de primeiro byte é executado: Claude Code a aborta no prazo e a reenvia no máximo uma vez por requisição de modelo, dentro do orçamento de tentativas, depois encerra o turno com No response from API se essa tentativa também ficar sem resposta. Em outras conexões, a requisição aguarda
API_TIMEOUT_MS. Quando você defineCLAUDE_CODE_RETRY_WATCHDOG, o limite de uma nova tentativa não se aplica. - Uma resposta de streaming que o filtro de conteúdo de saída da API interrompe antes de Claude ter terminado de pensar ou iniciado qualquer texto ou chamada de ferramenta. Claude Code reenvia a requisição uma vez, dentro do orçamento de tentativas, e mostra Output blocked by content filtering policy se o filtro também interromper a segunda resposta.
- Throttles 429 temporários, mas não o
429de limite de gastos de um gateway, que não é um throttle; veja Spend limit reached.- Quando você está conectado com uma assinatura claude.ai, isso inclui throttles 429 que não carregam os cabeçalhos de cota do seu plano. Antes da v2.1.199, Claude Code tentava novamente esses throttles apenas para logins com chave de API e Enterprise.
- Uma requisição rejeitada porque a entrada mais
max_tokensexcede o limite de contexto. Reenviá-la sem alterações falharia da mesma forma, então Claude Code tenta novamente com ummax_tokensreduzido, e para de tentar novamente e compacta em dois casos:- Quando nenhuma redução pode caber, por exemplo quando a conversa em si quase preenche a janela de contexto.
- Quando uma nova tentativa não pode encolher
max_tokensainda mais. Antes da v2.1.218, Claude Code poderia reenviar uma requisição reduzida que ainda não cabia, como quando o orçamento de pensamento estendido excedia o contexto restante, até o orçamento de tentativas se esgotar.
- Uma credencial expirada ou ausente do Google Cloud na Plataforma de Agentes do Google Cloud, ou credenciais AWS que falham ao carregar em sua máquina. Claude Code descarta suas credenciais em cache e tenta novamente até duas vezes, depois relata o erro para que você possa se autenticar novamente imediatamente, conforme descrito em Could not load AWS or Google Cloud credentials. Antes da v2.1.228, Claude Code tentava novamente uma credencial do Google Cloud com falha através do orçamento de tentativas completo antes de mostrar o erro.
- Um
401ou403da API Anthropic, diretamente ou através de um gateway de LLM, enquanto um scriptapiKeyHelperfornece a credencial. Claude Code executa novamente o script e tenta novamente com sua saída nova, dentro do orçamento de tentativas completo. Quando o script em si falha na nova execução, Claude Code mostra Your apiKeyHelper script is failing em vez disso.
Connection lost before a response was produced era exibido como Connection closed while thinking, before producing a response e The response stalled before a response was produced era exibido como Response stalled while thinking, before producing a response.
Claude Code não tenta novamente estas falhas:
- Uma falha de validação de certificado TLS, como um proxy inspecionando TLS, um pacote
NODE_EXTRA_CA_CERTSausente, ou um certificado expirado. Claude Code relata o erro na primeira tentativa, para que você possa corrigir a configuração do certificado imediatamente; veja SSL certificate errors. Claude Code ainda tenta novamente condições TLS transitórias como um timeout de handshake. Antes da v2.1.199, Claude Code tentava novamente falhas de certificado através do orçamento de tentativas completo antes de mostrar o erro. - Um erro de servidor, conexão perdida, ou fluxo travado que chega depois que Claude completou um bloco de texto ou uma chamada de ferramenta, ou iniciou um depois de terminar seu pensamento, mas antes de terminar a resposta. Claude Code não executa novamente a requisição, porque isso poderia executar as mesmas chamadas de ferramenta duas vezes. Ele mantém o que Claude completou, executa qualquer chamada de ferramenta que Claude terminou, e continua o turno a partir de seus resultados. Para o que você vê em uma sessão interativa e em uma não interativa, leia The response above may be incomplete. Antes da v2.1.199, Claude Code descartava a saída parcial e relatava todo o turno como um erro quando um erro de servidor chegava no meio do fluxo.
- Uma falha que chega depois que Claude terminou a resposta: nada precisa ser tentado novamente, então Claude Code mantém a resposta completa e encerra o turno normalmente.
- Uma resposta de streaming do Amazon Bedrock com um tipo de conteúdo inesperado, porque o gateway ou proxy que reescreve a resposta reescreveria a nova tentativa da mesma forma. Requer Claude Code v2.1.208 ou posterior.
- Uma nova tentativa sem streaming de uma requisição de streaming com falha que recebe um status de sucesso mas nenhuma mensagem da API Claude no corpo. Claude Code encerra o turno com esse erro.
- Uma requisição que a verificação de política da sua organização negou, que aparece como uma linha
API Error:carregando a mensagem de negação. Os administradores da sua organização configuram a verificação com Inference hooks, um recurso do Claude Enterprise, e a mensagem termina com as instruções que eles configuraram, ou por padrão diz para você entrar em contato com eles. Claude Code não reenvia a requisição negada para o mesmo modelo ou para um modelo de fallback, porque a negação é sobre o conteúdo da requisição e não sobre o modelo. Antes da v2.1.239, Claude Code poderia reenviar uma requisição negada, sem streaming ou em um modelo de fallback configurado, antes de mostrar a negação.
O que você vê enquanto Claude Code tenta novamente ou aguarda
Ao tentar novamente, o spinner mostra uma contagem regressivaRetrying in Ns · attempt x/y após um rótulo de erro. O rótulo nomeia a razão específica desde a primeira tentativa para falhas sobre as quais você pode agir imediatamente: a rede está inativa, um handshake TLS falhou, ou você atingiu um rate limit. Para outros erros, ele exibe API error no início. A partir da v2.1.198, ele muda para a razão específica a partir da terceira tentativa, ou na tentativa final quando CLAUDE_CODE_MAX_RETRIES permite menos de três; versões anteriores mudam apenas na tentativa final.
A partir da v2.1.198, a dica usual do spinner é suprimida durante novas tentativas. Uma vez que a razão do erro é revelada, se a falha for uma sobrecarga 529, a linha abaixo da contagem regressiva também nomeia onde verificar o status do serviço: status.claude.com na API Anthropic, ou o host do provedor ou gateway nomeado na mensagem em outras configurações.
Se nenhum dado chegar no fluxo de resposta por 20 segundos enquanto uma requisição ainda está pendente, o spinner mostra Waiting for API response · will retry in … · check your network antes de qualquer nova tentativa ter começado. A requisição ainda não falhou: a contagem regressiva vai até o ponto em que Claude Code aborta a conexão travada. Após o aborto, o que você vê depende de até onde a resposta tinha chegado:
- Antes de Claude ter completado um bloco de texto ou uma chamada de ferramenta, ou iniciado um depois de terminar seu pensamento, Claude Code tenta novamente a requisição ou encerra o turno com um erro. Automatic retries diz quais travamentos ele tenta novamente e quantas vezes.
- Depois que Claude completou um bloco de texto ou uma chamada de ferramenta, ou iniciou um depois de terminar seu pensamento, mas antes de Claude ter terminado a resposta, Claude Code mantém o que Claude completou, continua o turno a partir de qualquer chamada de ferramenta que Claude terminou, e mostra The response above may be incomplete. Em uma sessão não interativa, e para a resposta de um subagente em qualquer sessão, Claude Code pode primeiro pedir ao Claude que continue a resposta; essa entrada diz quando faz isso e quando você ainda vê o aviso lá.
- Depois que Claude terminou a resposta, Claude Code encerra o turno normalmente.
Ajustar o comportamento de novas tentativas
Você pode ajustar o comportamento de novas tentativas com estas variáveis de ambiente:Erros do servidor
A maioria desses erros vem do provedor de inferência: o serviço da Anthropic na API Anthropic e o serviço por trás do endpoint desse provedor no Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry ou um gateway personalizado. Auto mode cannot determine the safety of an action e Agent terminated early due to an API error também cobrem causas do seu lado, como uma conta Amazon Bedrock que não consegue invocar o modelo classificador ou um subagent que atingiu um limite de uso.API Error: 500 Internal server error
Claude Code mostra o código de status e a mensagem de erro da API para qualquer resposta 5xx. O exemplo abaixo mostra uma resposta 500 na API Anthropic:ANTHROPIC_BASE_URL personalizado nomeia o host do gateway.
Um 5xx da própria API indica uma falha inesperada dentro da API. Não é causado pelo seu prompt, configurações ou conta.
Quando um proxy, balanceador de carga ou gateway responde com uma página de erro HTML, a mensagem mostra o código de status e o título da página, como API Error: 502 Bad Gateway. Para uma página sem título, a mensagem mostra o código de status e seu nome padrão. Antes da v2.1.281, o código de status era descartado quando a página tinha um título, e a marcação bruta da página era impressa quando não tinha nenhum.
O que fazer:
- Verifique status.claude.com ou a página de status do provedor nomeada na mensagem para incidentes ativos
- Aguarde um minuto e envie sua mensagem novamente. Sua mensagem original ainda está na conversa, então para um prompt longo você pode digitar
try againem vez de colar tudo novamente. - Se o erro persistir sem nenhum incidente postado, execute
/feedbackpara que a Anthropic possa investigar com os detalhes da sua solicitação. Veja Report an error se/feedbacknão estiver disponível no seu ambiente.
API Error: Repeated 529 Overloaded errors
A API está temporariamente em capacidade máxima em todos os usuários. Claude Code já tentou novamente várias vezes antes de mostrar esta mensagem:- Verifique status.claude.com ou a página de status do provedor nomeada na mensagem para avisos de capacidade
- Tente novamente em alguns minutos
-
Execute
/modele mude para um modelo diferente para continuar trabalhando, já que a capacidade é rastreada por modelo. Claude Code o solicita fazer isso quando um modelo está sob carga particularmente alta, por exemploOpus is experiencing high load, please use /model to switch to Sonnet. Em modelos Fable a mensagem nomeia Fable. Em uma sessão que o Claude Desktop app executa, como a aba Code ou Cowork, a mensagem lêOpus is experiencing high load. Switch to Sonnet.e você muda modelos com o seletor de modelo do app.
Request timed out
A API não respondeu antes do prazo de conexão.- Tente novamente a solicitação
- Se uma rede lenta ou proxy for a causa, aumente
API_TIMEOUT_MSconforme descrito em Automatic retries - Se os tempos limite forem frequentes e sua rede estiver saudável, veja Network and connection errors abaixo
No response from API
Claude Code enviou uma solicitação de streaming e a API não retornou cabeçalhos de resposta dentro do prazo para o primeiro byte, então Claude Code abortou a solicitação em vez de aguardar o tempo limite de solicitação completoAPI_TIMEOUT_MS, 10 minutos por padrão. Claude Code envia a solicitação novamente no máximo uma vez, se o retry budget permitir. Quando a nova tentativa também fica sem resposta, o turno termina com esta mensagem, que mostra quanto tempo cada tentativa aguardou. Quando você define CLAUDE_CODE_RETRY_WATCHDOG, o limite de uma tentativa não se aplica e Claude Code tenta novamente sob o orçamento descrito em Tune retry behavior.
- Primeira tentativa:
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSquando você o define como 1 ou mais, limitado entre 10 segundos e 30 minutos. Caso contrário, Claude Code usa o tempo limite do watchdog de nível de byte listado em Streaming idle watchdogs, então as variáveis que alteram esse tempo limite alteram essa espera também. De qualquer forma, Claude Code adiciona um segundo para cada 32KB do corpo da solicitação. - Nova tentativa: um segundo a menos que
API_TIMEOUT_MS, pouco menos de 10 minutos por padrão, para que a nova tentativa possa durar mais que um proxy ou gateway que mantém a resposta até que a geração seja concluída. No Amazon Bedrock, a nova tentativa usa o mesmo prazo que a primeira tentativa, e a mensagem mostra uma duração em vez de duas.
API_TIMEOUT_MS positivo, e um API_TIMEOUT_MS positivo inferior a 11 segundos desativa o prazo. O watchdog de nível de byte começa apenas depois que os cabeçalhos de resposta chegam, então uma resposta que para de enviar bytes depois disso segue as regras de fluxo interrompido em vez deste prazo.
O que fazer:
- Envie sua mensagem novamente. Sua mensagem original ainda está na conversa, então para um prompt longo você pode digitar
try againem vez de colar tudo novamente. - Se se repetir, trate como um problema de rede ou proxy.
- Se um proxy ou gateway em sua rede mantém respostas até que sejam concluídas, aumente
API_TIMEOUT_MSpara que a nova tentativa aguarde mais. No Amazon Bedrock, aumenteCLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MStambém. - Se a primeira tentativa continuar expirando e a nova tentativa tiver sucesso, aumente
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSpara que a primeira tentativa também aguarde o tempo suficiente.
API_TIMEOUT_MS, 10 minutos por padrão, antes de falhar em uma solicitação de streaming sem resposta. Antes da v2.1.261, a nova tentativa aguardava o mesmo prazo que a primeira tentativa e a mensagem não mostrava durações.
The response above may be incomplete
Uma solicitação de streaming falhou enquanto a resposta ainda estava em andamento, depois que Claude completou um bloco de texto ou uma chamada de ferramenta, ou havia iniciado um após terminar seu pensamento. Reenviar a solicitação pode executar as mesmas chamadas de ferramenta duas vezes, então Claude Code mantém a saída que Claude completou e anexa este aviso em vez de descartar o turno. Qual variante você vê nomeia a causa:Server error mid-response: um erro de servidor sobrecarregado ou 5xx no meio do fluxo. Esta variante requer Claude Code v2.1.199 ou posterior; antes disso, esse caso descartava a saída parcial e relatava todo o turno como um erro.Connection lost mid-response: a conexão foi interrompida. Você também vê esta variante quando um proxy ou gateway encerra o corpo da resposta de forma limpa antes da resposta ser concluída.Your computer went to sleep mid-response: Claude Code detectou que seu computador entrou em modo de suspensão enquanto a resposta estava sendo transmitida. Depois que seu computador acordar, Claude Code trata a conexão como quebrada e para de ler dela.Part of the response never arrived: um evento de fluxo foi descartado entre a API e Claude Code, então um evento posterior referenciou conteúdo que nunca chegou. Antes da v2.1.281, este caso terminou o turno comAPI Error: Content block not found.The response stream was malformed: um evento chegou para um bloco de conteúdo que já havia terminado, ou um evento chegou danificado. Um evento danificado é aquele cujos dados não são JSON válido, cujo conteúdo está faltando ou cujo conteúdo não corresponde ao tipo do evento. Antes da v2.1.284, o erro bruto do analisador, como um começando comAPI Error: JSON Parse error, aparecia em vez disso quando um evento com JSON inválido chegava depois que Claude havia completado seu pensamento, um bloco de texto ou uma chamada de ferramenta.The response stopped arriving: a conexão permaneceu aberta mas parou de entregar dados, então o watchdog de inatividade de streaming a abortou. Antes da v2.1.222, Claude Code também poderia relatar essa falha em conexões de gateway alcançadas através deANTHROPIC_BASE_URLouANTHROPIC_AWS_BASE_URLenquanto os pings de keep-alive do servidor ainda estavam chegando, porque contava apenas eventos de resposta analisados lá; atualizar para a versão mais recente interrompe esses tempos limite espúrios nessas rotas. Gateways alcançados através de uma URL de base de provedor comoANTHROPIC_BEDROCK_BASE_URLnão são envolvidos pelo watchdog de byte; veja Streaming idle watchdogs.
Connection lost mid-response lia Connection closed mid-response e The response stopped arriving lia Response stalled mid-stream.
Quando um evento de fluxo descartado, duplicado ou danificado chega antes de Claude ter iniciado qualquer texto ou chamada de ferramenta, você não vê este aviso:
- Se Claude tivesse completado apenas seu pensamento, Claude Code reemite a solicitação. Quando os fluxos reemitidos quebram da mesma forma, o turno termina com
Part of the response never arrived and no response was produced. Try again.ouThe response stream was malformed and no response was produced. Try again. - Se nada tivesse sido concluído, Claude Code reenvia a solicitação sem streaming. Se você desativou esse fallback com
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK, o turno termina comAPI Error: Content block not foundpara um evento descartado ouAPI Error: Content block already closedpara um duplicado. Para um evento danificado com o fallback desativado, o turno termina comAPI Error: Stream event unreadableou o erro bruto do analisador.
- Anteriormente na resposta, Claude Code ou tenta novamente a falha ou termina o turno com um erro diferente. Veja Automatic retries.
- Quando uma dessas falhas chega depois que Claude terminou a resposta, Claude Code mantém a resposta completa e termina o turno normalmente, sem este aviso. Antes da v2.1.222, Claude Code mostrava este aviso quando a conexão era interrompida ou travava após a resposta terminar, e relatava o turno como um erro mesmo que a resposta fosse completa.
- Em uma sessão não interativa, como uma execução
-p, uma execução do Agent SDK ou uma sessão na nuvem, você não precisa enviarcontinuevocê mesmo quando a resposta cortada está na conversa principal e contém texto mas nenhuma chamada de ferramenta: Claude Code mantém a saída parcial e solicita a Claude continuar de onde parou, até três vezes seguidas. Você vê este aviso para tal resposta apenas uma vez que Claude Code tenha usado essas continuações. Antes da v2.1.246, Claude Code terminava um turno não interativo com este aviso na primeira interrupção. - Em um subagent, seja a sessão interativa ou não: quando sua resposta cortada contém texto mas nenhuma chamada de ferramenta, Claude Code solicita ao subagent continuar. O aviso se torna a última mensagem do subagent apenas uma vez que essas continuações sejam usadas. Antes da v2.1.257, um subagent mostrava este aviso na primeira interrupção.
- Em uma sessão interativa, leia a resposta que permanece na tela: Claude Code mantém cada bloco que Claude completou antes do erro, mas descarta um bloco final interrompido quando o turno termina, então as frases ou chamadas de ferramenta finais podem estar faltando. Responda com
continuepara que Claude retome seu último bloco completado. - Em modo não interativo (
-p):- Com a saída de texto padrão, Claude Code imprime o último bloco de texto completado que ainda mantém de antes no turno, seguido por esta mensagem. Quando não mantém nenhum, Claude Code imprime apenas esta mensagem, por exemplo porque Claude Code compactou a conversa no meio do turno e limpou esse texto. Antes da v2.1.219, Claude Code imprimia apenas esta mensagem na saída de texto
-pe descartava a resposta que já havia produzido. - Com
--output-format jsonoustream-json, Claude Code relata esta mensagem no camporesult. - Para continuar o turno uma vez que a conexão esteja estável, retome a sessão e envie
continueconforme descrito em Continue conversations.
- Com a saída de texto padrão, Claude Code imprime o último bloco de texto completado que ainda mantém de antes no turno, seguido por esta mensagem. Quando não mantém nenhum, Claude Code imprime apenas esta mensagem, por exemplo porque Claude Code compactou a conversa no meio do turno e limpou esse texto. Antes da v2.1.219, Claude Code imprimia apenas esta mensagem na saída de texto
Auto mode cannot determine the safety of an action
O modelo que auto mode usa para classificar ações não conseguiu produzir uma decisão, então auto mode não aprovou a ação automaticamente. A mensagem que você vê depende de como o classificador falhou. Leituras, buscas e edições dentro do seu diretório de trabalho pulam o classificador, então continuam funcionando em todos esses casos. Quando o modelo classificador está indisponível:Not run · auto mode's check had no usable answer aparece sob a chamada de ferramenta em vez desta mensagem. Pressione Ctrl+O para ler a mensagem no visualizador de transcrição. As negações descritas em The server returned no safety verdict mostram a mesma linha. Antes da v2.1.296, a mensagem aparecia sob a chamada como um erro vermelho.
Quando Claude Code pode determinar a categoria de falha, ele nomeia a categoria entre parênteses após temporarily unavailable, por exemplo <model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now. As categorias são (rate-limited), (overloaded), (server error), (timed out) e (connection failed). Se (timed out) ou (connection failed) se repetir, verifique sua conexão; veja Unable to connect to API. Antes da v2.1.229, a mensagem nunca nomeava uma categoria e lia Wait briefly and then try this action again.
Quando nenhuma categoria se encaixa, a mensagem aparece sem categoria entre parênteses; mais de uma falha produz essa forma. No Amazon Bedrock, incluindo o endpoint Mantle, também aparece quando sua conta AWS não consegue invocar o modelo nomeado na mensagem, e essa falha se repete em cada tentativa até que sua conta receba acesso ao modelo.
O que fazer:
- Tente novamente após alguns segundos; Claude vê a mesma mensagem e geralmente tenta novamente por conta própria. Uma falha transitória não está relacionada à elegibilidade de auto mode; você não precisa alterar configurações
- Se as tentativas continuarem falhando, continue com tarefas somente leitura e volte à ação bloqueada mais tarde
- No Amazon Bedrock, se a mensagem retornar em cada tentativa, verifique se sua conta pode invocar o modelo que ela nomeia: para modelos padrão do Amazon Bedrock, confirme que sua política IAM permite invocá-lo; para IDs de modelo Mantle, entre em contato com sua equipe de conta AWS
- Tente novamente a ação; isso geralmente tem sucesso na próxima tentativa
- Execute
claude --debuge repita a ação para detalhes no log de depuração
-p não interativa, Claude Code não interrompe a execução. O que Claude recebe depende de onde solicitou a ação:
- Para um subagent em segundo plano em uma execução
-psem--input-format stream-json, Claude Code retorna um resultado de erro contendoAgent aborted: auto mode classifier request refused by the safety safeguard in headless mode - Em todos os outros lugares, incluindo sessões interativas e a conversa principal de uma execução
-p, Claude Code retorna essa negação a Claude
- Isso não é uma decisão sobre sua ação. O conteúdo já em sua conversa acionou um filtro de segurança na API quando auto mode enviou a conversa para o classificador
- Tentar novamente não ajudará; o mesmo conteúdo de conversa acionará o filtro novamente
- Em uma sessão interativa, mude para um modo de permissão diferente para que você possa aprovar a ação quando solicitado
- Inicie uma conversa nova sem o conteúdo acionador
- Em uma sessão interativa, auto mode volta para um prompt de permissão normal para essa ação para que você possa aprová-la ou negá-la manualmente
- Para um subagent em segundo plano em uma execução
-pnão interativa sem--input-format stream-json, Claude Code retorna um resultado de erro contendoAgent aborted: auto mode classifier transcript exceeded context window in headless mode, e a execução continua - Em outro lugar em uma execução
-psem um--permission-prompt-tool, não há prompt para voltar, então a ação não é executada e a execução continua
- Em uma sessão interativa, aprove ou negue a ação no prompt que aparece
- Em uma sessão interativa, execute
/compactpara reduzir o tamanho da conversa para que ações subsequentes se encaixem novamente na janela do classificador
The server returned no safety verdict
Sob revisão de classificador do lado do servidor, auto mode nega uma ação quando o servidor não dá um veredicto para ela. A negação nomeia uma categoria entre parênteses quando Claude Code pode determinar uma, como(timed out):
Auto mode check unavailable com uma contagem regressiva, e pressionar Esc interrompe o turno.
Após dez respostas seguidas sem veredicto, auto mode interrompe o turno:
- Em uma sessão interativa, a mensagem aparece como um aviso na transcrição e o turno termina
- Em uma execução
-pnão interativa, a execução termina e relata um erro de execução. Com a saída de texto padrão, a mensagem é impressa em stderr. - Quando um subagent atingiu o limite, o subagent para antes de terminar, e Claude recebe o que produziu com uma nota de que auto mode o interrompeu
- Envie outra mensagem para que Claude tente novamente. A contagem de respostas começa do zero.
- Se a parada se repetir e suas solicitações passarem por um gateway ou proxy LLM, verifique se ele corta respostas de streaming ou as reescreve. Revisão de classificador do lado do servidor diz qual comportamento de gateway causa negações, e o guia de compatibilidade de gateway lista o que passar inalterado.
- Defina
CLAUDE_CODE_AUTO_MODE_SERVER=0antes de iniciar Claude Code para usar suas próprias solicitações de classificador. Antes da v2.1.281, Claude Code não lia a variável em uma conexão direta com a API Anthropic. - Para aprovar as ações você mesmo, mude para fora de auto mode
Agent terminated early due to an API error
A solicitação de API de um subagent falhou terminalmente, por exemplo porque um limite de uso foi atingido ou as novas tentativas de um erro de servidor se esgotaram, então o subagent parou antes de terminar sua tarefa. Esta mensagem requer Claude Code v2.1.199 ou posterior; antes disso, o texto de erro da API era retornado a Claude como se fosse o resultado do subagent.- Corresponda o detalhe do erro após os dois pontos à sua própria seção nesta página, como Usage limits ou Server errors, e siga as etapas dessa seção
- Uma vez que o erro subjacente seja resolvido, peça a Claude para tentar novamente a tarefa ou retomar o subagent
Limites de uso
A maioria dos erros nesta seção significa que uma cota vinculada à sua conta ou plano foi atingida. Três funcionam de forma diferente:Server is temporarily limiting requests é um throttle do lado do servidor não relacionado à sua cota de plano, Usage credits required for 1M context é uma verificação de direito em vez de uma cota esgotada, e The prompt to confirm went unanswered significa que um prompt de consentimento de créditos de uso foi fechado sem resposta, independentemente de uma cota ter sido atingida.
You’ve hit your session limit
Os planos de assinatura incluem uma permissão de uso contínua. Quando ela se esgota, você vê uma destas mensagens:/model mantém você trabalhando.
Em uma sessão interativa conectada com uma assinatura claude.ai, Claude Code também pode aguardar na sessão aberta e continuar a tarefa interrompida logo após o reset. Veja Wait for a usage limit to reset para o que você vê, como iniciar ou cancelar uma espera e como desativar a continuação automática. Antes da v2.1.234, Claude Code não oferecia essa espera.
O uso é contado contra as permissões de sessão e semanal ao mesmo tempo. Uma única rajada de atividade pesada, como um grande fanout de fluxo de trabalho, pode esgotar a permissão semanal antes da janela de sessão ser resetada.
O que fazer:
- Aguarde o horário de reset mostrado no erro
- Na aba Code do Desktop app, o cartão de limite de sessão oferece uma caixa de seleção Auto-continue when limits reset. O cartão de limite semanal não oferece. Quando marcada, o Desktop app tenta novamente o turno interrompido após o reset e mostra o horário da tentativa no cartão. A caixa de seleção do Desktop e a configuração Continue automatically at usage limit da CLI em
/configsão separadas, portanto, desative cada uma por conta própria. - Para o limite de Opus ou Sonnet, execute
/modele mude para um modelo fora dessa família para continuar trabalhando. Cada modelo tem seu próprio cache de prompt, portanto, a próxima requisição relê toda a conversa sem acertos de cache; veja Switching models - Execute
/usagepara ver seus limites de plano e quando eles são resetados - Execute
/usage-creditspara comprar uso adicional em Pro e Max, ou para solicitá-lo ao seu administrador em Team e Enterprise. Veja usage credits for paid plans para saber como isso é cobrado. - Para atualizar seu plano para limites base mais altos, veja claude.com/pricing
You've used 85% of your session limit · resets 3:45pm. Para monitorar sua permissão restante continuamente, adicione os campos rate_limits a uma custom status line, ou no Desktop app clique no usage ring ao lado do seletor de modelo.
Usage credits required for 1M context
O modelo selecionado usa a janela de contexto estendido de 1M tokens, e seu plano só o inclui através de créditos de uso./compact; execute /clear nessas versões para recuperar. Os passos abaixo se aplicam quando você selecionou explicitamente um modelo [1m].
O que fazer:
- Execute
/modele selecione a variante sem o sufixo[1m]para voltar à janela de contexto padrão - Onde a mensagem menciona
/usage-credits, execute-a para ativar a cobrança medida para a variante 1M em Pro e Max, ou para solicitar créditos de uso ao seu administrador em Team e Enterprise. Depois que os créditos de uso estiverem ativados, reinicie Claude Code ou inicie uma nova sessão, o que a mensagem disser. Até então, a sessão permanece no limite de contexto padrão. - Se o erro persistir após
/model, um ID de modelo 1M pode estar definido em outro lugar. Veja Setting your model para os locais de configuração a verificar em ordem de prioridade. - Para remover variantes 1M do seletor de modelo completamente, defina
CLAUDE_CODE_DISABLE_1M_CONTEXT=1
run /usage-credits to turn them on, or /model to switch to standard context e não mencionava reiniciar.
The prompt to confirm went unanswered
Se sua conta exigir o Fable usage-credits consent, Claude Code pede que você confirme antes de uma requisição Fable cobrar créditos de uso. Quando o prompt de consentimento fecha sem ninguém respondê-lo, Claude Code encerra o turno com uma destas mensagens:continuing on Fable 5 e Fable 5 now uses usage credits. Antes da v2.1.257, a primeira mensagem começava Fable 5 limit reached.
Isso acontece em sessões Remote Control, background sessions, sessões de colegas de agent team, e sessões que outro aplicativo hospeda através do Agent SDK. Para quando Claude Code fecha o prompt, veja Fable and usage credits.
O que fazer:
- Onde a sessão é executada, no terminal ou no aplicativo que a hospeda, envie outro prompt e responda o prompt de consentimento quando ele reaparecer. Para uma sessão em background, anexe-a primeiro da agents view. Reenviar de um cliente Remote Control mostra esta mensagem novamente, porque o cliente não pode exibir o prompt.
- Execute
/modelpara mudar para um modelo que não cobra créditos de uso - Para dar a si mesmo mais tempo, defina
dialogExpirypara um valor mais longo ou"never"
Server is temporarily limiting requests
A API aplicou um throttle de curta duração que não está relacionado à sua cota de plano.- Aguarde brevemente e tente novamente
- Verifique status.claude.com se persistir
Request rejected (429)
Você atingiu o rate limit configurado para sua chave de API, projeto Amazon Bedrock ou projeto Google Cloud.ANTHROPIC_BASE_URL personalizado nomeia o host do gateway.
Quando um proxy, balanceador de carga ou gateway entre Claude Code e a API responde com sua própria página HTML 429, o texto após o · é o título dessa página quando tem um, como Too Many Requests. Antes da v2.1.281, a marcação de toda a página era impressa após o ·.
O que fazer:
- Execute
/statuse confirme que a credencial ativa é a que você espera. UmANTHROPIC_API_KEYperdido em seu ambiente pode rotear requisições através de uma chave de nível inferior em vez de sua assinatura. - Verifique seu console de provedor para os limites ativos e solicite um nível mais alto se necessário
- Para chaves de API Anthropic, veja a rate limits reference para saber como os níveis funcionam e como definir limites por workspace
- Reduza a concorrência: diminua
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY, evite executar muitos subagentes paralelos, ou mude para um modelo menor com/modelpara execuções de script de alto volume
You’ve hit your monthly spend limit
O uso incluído do seu plano não pode cobrir esta requisição, e os usage credits que de outra forma pagariam por isso atingiram um limite de gastos. Isso acontece quando uma das janelas de uso do seu plano se esgotou, ou quando a requisição é uma que apenas créditos de uso pagam, como uma requisição para um modelo que bills to usage credits. A mensagem nomeia cujo limite o bloqueou. O texto após o· diz como aumentar esse limite e varia com seu plano e se você gerencia o faturamento:
team's shared budget é um orçamento agrupado que um administrador atribuiu a um grupo ao qual você pertence; a mensagem não nomeia o grupo. channel's monthly spend limit é o orçamento do único canal Slack em que a sessão é executada, portanto, sua organização ainda pode ter orçamento fora dele.
Quando uma das janelas do seu plano é o que se esgotou, a mensagem também diz quando essa janela é resetada, por exemplo · your session limit resets 3:45pm, e o acesso retorna então sem que ninguém aumente o limite. Em organizações com cobrança baseada em uso, a mensagem diz usage limit em vez de spend limit, como em You've hit your individual usage limit.
Se você se conectar através de um gateway de aplicativos Claude e vir spend limit reached em minúsculas, esse é o limite do seu operador de gateway; veja Spend limit reached.
O que fazer:
- Em Pro e Max, aumente seu limite de gastos mensais em Settings > Usage em claude.ai, ou execute
/usage-credits - Em Team e Enterprise, aumente o limite em Organization settings > Usage se você gerencia o faturamento, ou peça a um administrador.
/usage-creditsenvia essa solicitação ao seu administrador para você - Para o limite de um canal, peça a um proprietário da organização ou ao gerenciador do canal para aumentá-lo em claude.ai. Veja Per-channel limits na documentação Claude Tag
- Se a mensagem nomear um horário de reset para a janela do seu plano, você pode aguardar em vez disso
- Execute
/usagepara ver as janelas do seu plano e quando cada uma é resetada
Spend limit reached
Você se conecta através de um Claude apps gateway e passou por um spend cap que seu operador de gateway definiu. O gateway bloqueia suas requisições até que o período nomeado seja resetado ou o operador aumente o limite. Ele marca cada resposta429 bloqueada com x-should-retry: false, portanto, Claude Code mostra esta mensagem sem tentar novamente.
blocked_message, suas instruções o seguem. Antes da v2.1.225, a mensagem lia apenas spend limit reached; um gateway em uma versão mais antiga ainda envia essa forma mais curta.
O que fazer:
- Aguarde o horário de reset que a mensagem nomeia, ou siga as instruções do operador se a mensagem as carregar
- Peça ao seu operador de gateway para aumentar o limite se você o atingir rotineiramente
spend limit unavailable, significa que o gateway não conseguiu ler seus registros de gastos e bloqueou a requisição como precaução em vez de sobre seu limite. Geralmente se limpa por conta própria; se persistir, informe seu operador de gateway.
Credit balance is too low
Sua organização Console ficou sem créditos pré-pagos, ou Claude Code está enviando suas requisições com uma chave de API Console quando você pretendia usar sua assinatura.- Se você tem um plano Pro, Max, Team ou Enterprise e vê isso, execute
/statuse verifique a linhaAPI key. UmANTHROPIC_API_KEYaprovado em seu ambiente roteia requisições através dessa chave em vez de sua assinatura. Desdefina-o no shell atual e remova-o do seu perfil de shell, depois relanceclaude. Execute/loginse você ainda não se conectou com sua assinatura. - Adicione créditos em platform.claude.com/settings/billing, e considere ativar o auto-reload lá para que o saldo seja recarregado antes de atingir zero
- Defina limites de gastos por workspace no Console para evitar que um único projeto drene o saldo da organização. Veja Manage costs effectively.
Could not update your spend limit
O servidor rejeitou uma alteração de limite de gastos que você fez a partir do prompt que aparece quando você atinge seu limite de gastos.Could not update your spend limit. Press Enter to retry. e tentar novamente pode ter sucesso. Antes da v2.1.216, Claude Code mostrava a forma genérica para cada falha.
O que fazer:
- Se a mensagem incluir uma razão, escolha um limite que a satisfaça, como um valor menor
- Se a mensagem mostrar apenas a forma genérica, tente novamente; a falha pode ser transitória
- Se a alteração continuar falhando, faça-a a partir de suas claude.ai billing settings no navegador em vez disso
Erros de autenticação
Esses erros significam que o Claude Code não consegue provar à API quem você é. Execute/status a qualquer momento para ver qual credencial está ativa no momento.
Not logged in
Nenhuma credencial válida está disponível para esta sessão.Authentication required · Sign in again to continue, e você faz login novamente pelo aplicativo.
Se você fizer login com sua conta claude.ai em outra janela do Claude Code que usa o mesmo diretório de configuração, uma sessão interativa que mostra esta mensagem passa a usar esse login por conta própria. Você não precisa reiniciá-la.
Antes da v2.1.286 no macOS, a sessão podia continuar mostrando a mensagem depois que você fazia login em outra janela. Nessas versões, reinicie a sessão que mostra a mensagem.
O que fazer:
- Execute
/loginpara se autenticar com sua assinatura Claude ou conta do Console - Se você esperava que uma variável de ambiente o autenticasse, confirme que
ANTHROPIC_API_KEYestá definida e exportada no shell onde você iniciou oclaude - Para CI ou automação em que o login interativo não é possível, configure um script
apiKeyHelperque obtenha uma chave na inicialização - Consulte Precedência de autenticação para entender qual credencial o Claude Code usa quando várias estão presentes
Could not resolve authentication method
A sessão chegou ao cliente da API sem nenhuma credencial. Sessões em segundo plano e sessões na nuvem mostram esta mensagem quando o worker é iniciado sem uma credencial. Execuções interativas, com-p e do Agent SDK relatam a mesma condição como Not logged in e gravam esta string apenas no log de depuração, então, se você a encontrou lá, siga aquela entrada.
- Atualize para a v2.1.176 ou posterior se isso aparecer em uma sessão em segundo plano ou na nuvem e suas credenciais já estiverem configuradas
- Confirme que
ANTHROPIC_API_KEY,CLAUDE_CODE_OAUTH_TOKENou as credenciais do seu provedor de nuvem estão definidas no ambiente que inicia o worker, e não apenas no seu shell interativo - Para o Agent SDK, consulte configuração de autenticação no início rápido
- Execute
/statusem uma sessão interativa no mesmo ambiente para confirmar qual fonte de credencial é resolvida
Invalid API key
A variável de ambienteANTHROPIC_API_KEY ou o script apiKeyHelper retornou uma chave que a API rejeitou, ou o Claude Code bloqueou uma chave de ANTHROPIC_API_KEY antes de enviá-la.
Fix external API key com uma descrição como Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines)., a API nunca viu a chave. O Claude Code encontrou um caractere que os cabeçalhos HTTP não conseguem transportar e interrompeu a requisição antes de enviá-la. Consulte Invalid request header value para saber como ler a descrição e corrigir o valor.
O que fazer:
- Verifique se há erros de digitação e confirme que a chave não foi revogada no Console
- No mesmo shell, execute
env | grep ANTHROPIC, ou no PowerShellGet-ChildItem Env:ANTHROPIC*. Ferramentas como direnv, plugins de shell dotenv e terminais de IDE podem carregar uma chave desatualizada de um arquivo.envno seu projeto sem que você a defina explicitamente. - Remova a definição de
ANTHROPIC_API_KEYe execute/loginpara usar a autenticação por assinatura - Se a chave vier de um script
apiKeyHelper, execute o script diretamente para confirmar que ele imprime uma chave válida no stdout - Execute
/statuspara confirmar qual fonte de credencial o Claude Code está realmente usando
Your apiKeyHelper script is failing
O Claude Code executou o comando na sua configuraçãoapiKeyHelper e não recebeu uma chave de volta. Sem ela, a requisição chega à API com uma credencial provisória, e a API a rejeita com 401. O painel Authentication no terminal mostra qual destes casos aconteceu:
- O comando terminou com um erro ou atingiu o timeout
- O comando não imprimiu nada no stdout
- O comando imprimiu algo além da chave, como um banner de login ou uma linha de log. O painel mostra
returned output that cannot be used as an API keye informa o que está errado, sem repetir a saída. Antes da v2.1.227, o Claude Code enviava o que quer que o comando imprimisse, após remover os espaços em branco ao redor.
apiKeyHelper failed:.
O Claude Code executa o script novamente e tenta a requisição novamente até mais duas vezes antes de mostrar esta mensagem, então a falha aparece em até três tentativas. Antes da v2.1.208, o Claude Code gastava todo o orçamento de novas tentativas reenviando a requisição com a credencial provisória e então relatava um erro de autenticação 401 genérico em vez da falha do script.
Executar /login não ajuda aqui: a saída do helper tem precedência sobre um login salvo enquanto a configuração estiver presente.
O que fazer:
- Execute diretamente no seu shell o comando configurado em
apiKeyHelperpara reproduzir a falha - Se o comando relatar uma sessão expirada, autentique-se novamente com seu provedor de credenciais, por exemplo, fazendo login novamente no seu SSO ou cofre de segredos
- Corrija o comando para que ele imprima apenas a chave no stdout, como um único token de ASCII imprimível de até 16.384 caracteres, e termine com código de saída 0. Consulte rotacionar credenciais com apiKeyHelper para uma configuração funcional.
- Execute
/statuspara ver a falha e confirmar queapiKeyHelperé a fonte de credencial ativa. A linhaapiKeyHelpermostraFailingcom o detalhe da última falha, como o código de saída e a saída de erro do comando, e desaparece após a próxima execução bem-sucedida. Antes da v2.1.274,/statusmostrava apenas a fonte de credencial, não a falha. - Cada vez que o comando falha, seu código de saída e sua saída de erro também aparecem em um painel
Authenticationno terminal. Antes da v2.1.212, o painel se chamavaCloud authentication.
Invalid request header value
Um valor que o Claude Code estava prestes a enviar como cabeçalho de requisição contém um caractere que os cabeçalhos HTTP não conseguem transportar: uma quebra de linha, um byte NUL ou um caractere acima deU+00FF, como uma aspa curva ou um espaço de largura zero. O Claude Code interrompe a requisição antes que qualquer coisa seja enviada e informa a variável ou configuração a corrigir. A causa usual é uma credencial colada de um documento ou chat que trazia um caractere invisível ou uma quebra de linha perdida.
O Claude Code executa esta verificação quando envia requisições à Claude API diretamente ou por meio de um gateway de LLM. Em um provedor de nuvem de terceiros, como o Amazon Bedrock, o Claude Code não a executa antes de enviar.
Invalid auth token: um bearer token deANTHROPIC_AUTH_TOKENouCLAUDE_CODE_OAUTH_TOKENInvalid ANTHROPIC_CUSTOM_HEADERS: um nome ou valor de cabeçalho que você definiu emANTHROPIC_CUSTOM_HEADERS. A descrição indica pela contagem qual parName: Valueestá com problema, comodistinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS, sem repetir o nome ou o valor, já que você escolheu ambos.Invalid request header from the environment: um valor que o Claude Code copia para um cabeçalho de requisição a partir de outra variável de ambiente, comoCLAUDE_AGENT_SDK_CLIENT_APP. A descrição informa a variável a corrigir.
ANTHROPIC_API_KEY inválida detectada por esta verificação como Invalid API key, com a mesma descrição ao final. Já uma credencial salva do /login inválida é relatada como Not logged in; execute /login para salvar uma nova. A saída de um script apiKeyHelper nunca chega a esta verificação: o Claude Code a valida quando o script é executado, e uma saída que um cabeçalho HTTP não consegue transportar falha com Your apiKeyHelper script is failing.
Após o segundo ·, a mensagem descreve o problema, como neste exemplo completo:
a non-ASCII character.
O que fazer:
- Defina novamente a variável ou configuração que a mensagem indica, redigitando os caracteres ao redor da posição informada em vez de colar da mesma fonte novamente
- Para
ANTHROPIC_CUSTOM_HEADERS, mantenha um parName: Valuepor linha e reescreva o par que a mensagem indica - Execute
/statuspara confirmar qual fonte de credencial está ativa
This organization has been disabled
O Claude Code está usando umaANTHROPIC_API_KEY desatualizada de uma organização do Console desativada. Quando você tem um login de assinatura salvo, a chave o sobrescreve.
· depende das suas credenciais salvas: a primeira forma aparece quando um /login armazenado pode assumir depois que você remove a definição da chave, e a segunda quando a chave é sua única credencial.
As variáveis de ambiente têm precedência sobre o /login, então uma chave exportada no perfil do seu shell ou carregada de um arquivo .env é usada mesmo quando você tem uma assinatura Pro ou Max funcionando. No modo não interativo (-p), a chave é sempre usada quando presente.
O que fazer:
- Remova a definição de
ANTHROPIC_API_KEYno shell atual e remova-a do perfil do seu shell, depois inicie oclaudenovamente - Se a mensagem disser
Update or unset, você não tem um login salvo para usar como alternativa. Remova a definição da chave e execute/login, ou substitua a chave por uma de uma organização do Console ativa. - Execute
/statusem seguida para confirmar que a credencial ativa é sua assinatura - Se nenhuma variável de ambiente estiver definida e o erro persistir, entre em contato com o suporte ou faça login com uma conta diferente.
Your organization has disabled API key authentication
Esta mensagem requer o Claude Code v2.1.169 ou posterior. O administrador da sua organização do Console desativou a autenticação por chave de API, então a API rejeita a chave que o Claude Code está enviando. A dica de recuperação após o· varia conforme a origem da chave:
apiKeyHelper têm precedência sobre o /login, então executar apenas /login não ajuda enquanto qualquer um deles ainda estiver fornecendo uma chave. Consulte Precedência de autenticação.
O que fazer:
- Se a mensagem mencionar
ANTHROPIC_API_KEY, remova sua definição no shell atual e remova-a do perfil do seu shell ou do arquivo.env, depois inicie oclaudenovamente - Se a mensagem mencionar
apiKeyHelper, remova a configuraçãoapiKeyHelperdo seusettings.json - Execute
/loginpara fazer login com sua conta claude.ai - Execute
/statusem seguida para confirmar que a credencial ativa é sua assinatura e não uma chave de API - Se você precisar de autenticação por chave de API para automação, peça ao administrador da sua organização que a reative no Console
Your organization has disabled Claude subscription access
Sua organização Claude não permite fazer login no Claude Code com um login de assinatura. Executar/login novamente com a mesma conta retorna o mesmo erro.
-p apresentam isso como o código de erro oauth_org_not_allowed.
O que fazer:
- Peça ao seu administrador que habilite o acesso ao Claude Code para sua organização
- Autentique-se com uma chave de API do Console em vez da sua assinatura. Consulte Autenticação do Claude Console para a configuração.
- Se você for o administrador e não vir uma opção para habilitar o acesso, entre em contato com o suporte da Anthropic
Routines are disabled by your organization’s policy
Um Owner na sua organização Team ou Enterprise desativou as rotinas no nível da organização. O erro aparece quando você tenta criar ou executar uma rotina, por exemplo, pela interface de Rotinas em claude.ai/code. No Claude Code v2.1.227 ou posterior, a mesma configuração também oculta/schedule na CLI.
- Peça a um Owner da sua organização que ative a opção Routines em claude.ai/admin-settings/claude-code
- Para trabalhos agendados pontuais que não exigem rotinas no nível da organização, consulte tarefas agendadas
Remote Control requires the Anthropic API
A sessão não está se comunicando diretamente com a Anthropic API, o que o Remote Control exige.- Uma variável de provedor
CLAUDE_CODE_USE_*, comoCLAUDE_CODE_USE_BEDROCKpara o Amazon Bedrock ouCLAUDE_CODE_USE_VERTEXpara o Agent Platform do Google Cloud ANTHROPIC_BASE_URLapontando para um host diferente deapi.anthropic.com, como um gateway de LLM ou proxy, mesmo quando você faz login com claude.ai; antes da v2.1.196, uma URL base personalizada não bloqueava o Remote ControlANTHROPIC_UNIX_SOCKETdefinida, de modo que a sessão envia suas requisições por um socket local em vez de paraapi.anthropic.com- Um login de gateway de nuvem corporativo feito pelo
/login, que não oferece suporte ao Remote Control e não tem variável para remover
- Remova a definição da variável que a mensagem menciona, como
CLAUDE_CODE_USE_BEDROCKouANTHROPIC_BASE_URL, e reinicie a sessão, ou inicie o Remote Control a partir de uma sessão que se comunica diretamente com a Anthropic API - Se a variável não estiver definida no seu shell, verifique a chave
envnos seus arquivos de configuração, que aplica variáveis de ambiente a todas as sessões - Para esta e as outras mensagens de inicialização do Remote Control, consulte Solução de problemas do Remote Control
Remote Control couldn’t refresh your login
O Claude Code executa uma conexão ativa do Remote Control com credenciais de curta duração que ele obtém e renova usando seu login claude.ai salvo. Quando o claude.ai deixa de aceitar esse login, ou o Claude Code não tem mais nenhum login salvo, o Claude Code interrompe o Remote Control e precisa que você faça login novamente. Qualquer uma das falhas pode acontecer enquanto o Claude Code ainda está se conectando ou mais tarde, quando ele renova as credenciais. Quando o Claude Code pede ao serviço de login que atualize seu login salvo e não obtém resposta, ele mantém o Remote Control em execução e tenta a atualização novamente enquanto a credencial atual da conexão ainda é válida. Uma atualização fica sem resposta quando o Claude Code não consegue alcançar o serviço de login, a requisição atinge o timeout ou o serviço falha sem rejeitar seu login. Se o serviço de login ainda não estiver respondendo quando essa credencial expirar, o Claude Code interrompe o Remote Control e relataOAuth token refresh failed.
Quando o Claude Code interrompe o Remote Control, ele mostra o motivo em um aviso e em uma linha da transcrição que começa com Remote Control disconnected. Sua sessão local continua em execução sem o Remote Control. Esta seção aborda estas linhas:
Claude.ai login expiredeClaude.ai login was rejected: o claude.ai não aceita mais seu token de login salvo, porque ele expirou ou foi revogadoOAuth token unavailable: o Claude Code não tinha nenhum token de login salvo quando a credencial da conexão precisou ser renovadaOAuth token refresh failed: o claude.ai rejeitou seu token de login salvo enquanto o Claude Code estava se reconectando, e a atualização do token não produziu um novoJWT refresh failed: no OAuth token: o Claude Code não encontrou nenhum token de login salvo para renovarSigned out of Claude: você fez logout nesta máquina, por exemplo, executando/logoutem outro terminal, então o Claude Code não tem mais nenhum login salvo para renovar a conexão
- Execute
/loginpara fazer login novamente - Execute
/remote-controlpara reconectar a sessão. Mensagens que terminam comrun /login to restore Remote Controlnão precisam desta etapa: o Claude Code se reconecta sozinho assim que você faz login.
OAuth token refresh failed — run /login to re-authenticate dizia OAuth token refresh failed — re-authenticate, then re-enable Remote Control, e JWT refresh failed: no OAuth token — run /login dizia no OAuth token available for recovery (code <N>). As mensagens Claude.ai login expired, Claude.ai login was rejected e OAuth token unavailable foram adicionadas na v2.1.225.
Antes da v2.1.238, o Claude Code relatava os casos que agora dizem Signed out of Claude como JWT refresh failed: no OAuth token — run /login e interrompia o Remote Control com Claude.ai login expired — run /login to restore Remote Control assim que uma atualização de login ficava sem resposta.
Remote Control stopped because the signed-in account changed
O Claude Code mostra esta linha durante uma sessão do Remote Control quando você faz login em uma conta ou organização claude.ai diferente nesta máquina. Você fez a troca fora da sessão do Claude Code, por exemplo, executando/login em outro terminal.
Uma sessão do Remote Control que você iniciou enquanto estava conectado pelo /login pertence à conta e à organização claude.ai que estavam conectadas naquele momento.
- Execute
/remote-controlpara iniciar uma nova sessão do Remote Control na conta ou organização atual - Para voltar, execute
/logine faça login novamente na conta ou organização anterior. Depois execute/remote-control.
Remote Control server rejected the request (HTTP 404). Essa falha podia ocorrer horas após a troca.
Remote Control stopped because the app running the session signed out or switched accounts
Quando o aplicativo Claude para desktop ou uma IDE hospeda sua sessão, o Claude Code obtém o token de login desse aplicativo em vez do/login. Quando o claude.ai rejeita esse token, o Claude Code pede um novo ao aplicativo. Se o aplicativo responder que está desconectado, ou que agora está conectado a uma conta Claude diferente, o Claude Code encerra a sessão do Remote Control e envia ao aplicativo uma destas linhas:
- Se o aplicativo estiver desconectado, faça login nele novamente e depois reative o Remote Control no aplicativo
- Se o aplicativo trocou de conta, o Claude Code não pode continuar a sessão encerrada na nova conta. Inicie uma nova sessão do Remote Control nessa conta.
run /login listadas em Remote Control couldn’t refresh your login em ambos os casos.
OAuth token revoked or expired
Seu login salvo não é mais válido. Um token revogado significa que você fez logout em todos os lugares ou que um administrador removeu o acesso; um token expirado significa que a atualização automática falhou no meio da sessão. Ambas as mensagens relatam uma rejeição que a API retornou para uma requisição enviada pelo Claude Code. Quando o login salvo já foi apagado após uma atualização com falha, você vê Login expired em vez disso. Se você se autentica com um token de longa duração emCLAUDE_CODE_OAUTH_TOKEN, você vê as mesmas mensagens quando esse token expira ou é revogado.
-p) e no Agent SDK, as mensagens são as seguintes, e o código de erro estruturado é authentication_failed:
Your account does not have access to Claude. Please login again or contact your administrator.
O que fazer:
- Execute
/loginno prompt do Claude Code para fazer login novamente - Se o seu comando
-pou programa do Agent SDK usa um login salvo, executeclaudeno mesmo ambiente, conclua o/logine então execute o comando ou programa novamente. Para automação que não pode fazer login interativamente, autentique-se comANTHROPIC_API_KEYou gere um token de longa duração comclaude setup-token. - Se você se autentica com a variável de ambiente
CLAUDE_CODE_OAUTH_TOKEN, o Claude Code continua enviando o valor que você definiu depois que uma requisição falha com 401, em vez de passar para o token de um login armazenado./statusmostra essa credencial como uma linhaAuth tokencom o valorCLAUDE_CODE_OAUTH_TOKEN. Gere um novo token comclaude setup-tokene reinicie com ele, ou remova a definição da variável e execute/login. Antes da v2.1.225, o Claude Code podia substituir o valor da variável no meio da sessão pelo token de acesso de curta duração de um login armazenado, e a sessão falhava novamente com erros 401 quando esse token expirava. - Para solicitações repetidas de login entre inicializações, consulte as verificações do relógio do sistema e as etapas de recuperação do armazenamento de credenciais do macOS em Solução de problemas
- Para outras falhas, incluindo
403 Forbiddene problemas de OAuth no navegador, consulte Login e autenticação
API Error: 401 Invalid authentication credentials
A API reconheceu o formato da sua credencial, mas rejeitou a conta ou a organização por trás dela. A Anthropic retorna esta mensagem quando uma credencial foi revogada recentemente, quando uma organização foi desativada ou removeu seu acesso, ou quando a própria conta foi desativada, então um token expirado não é a causa. A credencial pode ser seu login salvo ou umaANTHROPIC_API_KEY aprovada, e a correção é diferente, então comece executando /status para ver qual delas está ativa.
- Se
/statusmostrar uma linhaAPI keyque não esteja marcada como não utilizada, umaANTHROPIC_API_KEYaprovada é a credencial ativa e tem precedência sobre seu login, então o/loginnão a substitui. Rotacione a chave no Claude Console, ou volte para sua assinatura executandounset ANTHROPIC_API_KEY, ou no PowerShellRemove-Item Env:ANTHROPIC_API_KEY. - Se
/statusmostrar apenas seu login, execute/loginuma vez. Se a credencial foi revogada, um novo login a substitui. - Se a mesma mensagem voltar para a mesma conta de login, a conta ou a organização não está mais ativa. Verifique a conta e a organização que
/statusinforma e peça ao administrador da sua organização que restaure o acesso. - Se
ANTHROPIC_BASE_URLapontar para um gateway de LLM, o texto após401é a mensagem do seu gateway e não da Anthropic, e o/loginnão a altera. Em vez disso, corrija a credencial que seu gateway espera.
Login expired
O Claude Code tentou renovar seu login claude.ai salvo e o serviço OAuth rejeitou o refresh token armazenado, então o Claude Code apagou as credenciais salvas. Depois disso, cada requisição ao modelo é interrompida localmente com esta mensagem antes de chegar à API, porque apenas o/login pode criar novas credenciais.
Antes da v2.1.206, o Claude Code enviava a requisição ao modelo mesmo assim, com qualquer credencial que restasse no ambiente, e então todos os modelos falhavam com There’s an issue with the selected model ou um 401 em vez de um prompt para fazer login.
-p) e no Agent SDK, a mensagem é a seguinte, e o código de erro estruturado é authentication_failed:
Login expired que termina com or re-authenticate your Anthropic profile, consulte Anthropic profile login expired.
Este não é o mesmo estado que OAuth token revoked or expired. Aquelas mensagens relatam uma rejeição retornada pela API. O próprio Claude Code produz Login expired para um login que ele já não conseguiu renovar, então nenhuma requisição é enviada. Quando a renovação falha porque a própria conta está suspensa, e não porque o login está desatualizado, o Claude Code mostra Your account is on hold em vez disso.
Sessões autenticadas com uma chave de API, CLAUDE_CODE_OAUTH_TOKEN ou um provedor de terceiros não usam o login salvo e nunca veem esta mensagem.
Você pode verificar esse estado antes que uma requisição falhe: /status mostra uma linha Login com o valor Expired — log in again, além da organização e do e-mail salvos para o login expirado. A linha aparece apenas quando o login salvo é sua credencial ativa e não pode mais ser atualizado. Sessões autenticadas de outra forma não mostram a linha, mesmo que um login expirado permaneça salvo. Antes da v2.1.210, /status não dava nenhuma indicação nesse estado de que um login já tivesse existido, porque a credencial apagada não deixava nada para relatar.
O que fazer:
- Execute
/loginpara fazer login novamente. Tentar novamente sem fazer login mostra a mesma mensagem em todas as requisições. - Se você fizer login com sua conta claude.ai em outra janela do Claude Code, consulte Not logged in para saber quando esta sessão passa a usar esse login por conta própria.
- No modo não interativo, execute
claudeno mesmo ambiente, conclua o/logine então execute seu comando novamente. Para automação que não pode fazer login interativamente, autentique-se comANTHROPIC_API_KEYou gere um token de longa duração comclaude setup-token. - Se o login continuar falhando, consulte Login e autenticação
Could not refresh your login because another Claude Code process is refreshing it
Esta mensagem não significa que seu login foi rejeitado. Seu login claude.ai salvo havia expirado e precisava ser renovado. Outro processo do Claude Code na mesma máquina detinha o bloqueio compartilhado de atualização, ou terminou e o deixou para trás, e a atualização não progrediu enquanto esta sessão esperava. O Claude Code interrompe a requisição antes de enviá-la:-p) e no Agent SDK, a mensagem é a seguinte, e o código de erro estruturado é server_error:
CLAUDE_CODE_OAUTH_TOKEN ou um provedor de terceiros não usam o login salvo e nunca veem esta mensagem.
O que fazer:
- Tente novamente em um minuto. Se outro processo concluir a atualização primeiro, esta sessão usa o login renovado.
- Se a mensagem continuar voltando, feche as outras janelas e processos do Claude Code e tente novamente.
- Se ela voltar sem nenhum outro processo do Claude Code em execução, execute
/login. Fazer login novamente não espera pelo bloqueio de atualização.
Couldn’t save your login
Você fez login com claude.ai, mas o Claude Code não conseguiu salvar o login no seu armazenamento de credenciais, então o login não foi concluído. No macOS, isso pode acontecer quando o keychain de login é bloqueado, por exemplo, durante a suspensão ou inatividade, depois que o Claude Code já leu ou salvou credenciais nele durante a mesma sessão.- No macOS, desbloqueie o keychain de login e então execute
/loginnovamente - Em outras plataformas, execute
/loginnovamente - Se o login ainda não for salvo, consulte Não conectado ou token expirado para o comando de desbloqueio do keychain e outras etapas de recuperação do armazenamento de credenciais
Failed to start OAuth callback server
Quando/login, claude auth login ou claude setup-token faz seu login pelo navegador, o Claude Code abre uma porta de escuta em 127.0.0.1 para que seu navegador possa devolver o resultado do login a ele. Esta mensagem significa que o Claude Code não conseguiu abrir essa porta, e o login é interrompido antes que uma janela do navegador ou uma URL de login apareça:
Is port 0 in use?, a tentativa de escutar no endereço de loopback IPv4 127.0.0.1 falhou completamente. Como a falha acontece antes que exista uma URL de login, o fluxo Paste code here if prompted não está disponível como solução alternativa.
O que fazer:
- Para fazer login imediatamente sem o listener local: se você usa uma assinatura claude.ai, execute
claude setup-tokenem uma máquina onde o login funciona e defina o token que ele imprime comoCLAUDE_CODE_OAUTH_TOKENnesta máquina. Caso contrário, definaANTHROPIC_API_KEYcom uma chave do Claude Console. Precedência de autenticação explica como o Claude Code escolhe entre credenciais. - Para usar o login pelo navegador nesta máquina, o Claude Code precisa conseguir escutar em
127.0.0.1. Se ele for executado dentro de um sandbox, verifique se a política do sandbox permite escutar em portas locais e então execute/loginnovamente. Se ele deveria conseguir e ainda assim falhar, execute/feedbackpara que o relatório inclua os detalhes do seu ambiente.
Claude login not accepted
Você tentou iniciar uma sessão na nuvem, e o servidor se recusou a criá-la com um 401: ele não aceitou o login Claude que esta máquina enviou, geralmente porque o login expirou ou foi revogado. A primeira parte da linha é o próprio motivo do servidor, quando ele informa um. Caso contrário, a linha diz:- Execute
/login, conclua o login e então inicie a sessão novamente
Artifacts need a claude.ai login
O Claude Code recusou a publicação ou leitura de um artefato porque a sessão não tem um login claude.ai que possa usar para artefatos. Todas as formas da mensagem começam com as mesmas palavras, seguidas de uma solução que depende de como sua sessão se autentica. Sem nenhuma credencial concorrente, ela diz:- Execute
/logine selecione Claude account with subscription. A opção Anthropic Console account não fornece credenciais claude.ai. - Quando a mensagem mencionar uma credencial que tem precedência, como
ANTHROPIC_API_KEY, uma configuraçãoapiKeyHelperou uma chave do Console salva por um/loginanterior, remova-a da forma que a mensagem indica e então execute/login - Quando a mensagem disser que esta sessão remota se autentica pela máquina que a iniciou, faça login no claude.ai nessa máquina e então reconecte a sessão
- Quando a mensagem disser que a credencial é injetada pelo ambiente host da sessão, você não pode alterá-la nessa sessão; inicie uma sessão que esteja conectada ao claude.ai
- Consulte Disponibilidade para os outros requisitos dos artefatos, como plano, provedor de modelo e política da organização
Administrator policy requires a Cloud gateway sign-in
As configurações gerenciadas de um administrador nesta máquina definemforceLoginMethod como "gateway" ou definem forceLoginGatewayUrl. A menos que você selecione um provedor de nuvem por meio de uma variável como CLAUDE_CODE_USE_BEDROCK, o Claude Code passa a aceitar apenas o login do gateway de aplicativos Claude. Você vê uma de duas mensagens:
/login desde que a política chegou à máquina.
Se a máquina também tiver uma credencial emitida pela Anthropic e as configurações gerenciadas definirem forceLoginMethod ou forceLoginOrgUUID, o Claude Code é encerrado na inicialização. Essa credencial pode ser uma variável ANTHROPIC_API_KEY ou ANTHROPIC_AUTH_TOKEN, uma configuração apiKeyHelper ou uma chave de API salva por um login anterior no Claude Console.
A mensagem de inicialização indica a credencial com a qual a sessão está configurada, onde ela está definida e a etapa que a remove. Por exemplo, com uma variável ANTHROPIC_API_KEY definida no seu shell, ela diz:
- Para
Not signed in to the Cloud gateway, execute/logine conclua o login na tela Cloud gateway - Para a mensagem de inicialização, remova a credencial seguindo as etapas no final da mensagem
- Se você acredita que a máquina não deveria exigir o gateway, peça ao administrador que a gerencia que remova
forceLoginMethodeforceLoginGatewayUrldas configurações gerenciadas dela
Administrator policy requires a Cloud gateway sign-in on this machine; the Anthropic-issued credential configured here (ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used. Se você vir esse texto e não conseguir saber qual credencial remover, atualize para a v2.1.284 ou posterior e inicie o claude novamente.
Na v2.1.265, uma regressão também mostrava a primeira mensagem em algumas configurações de gateway de LLM e proxy que se autenticam com uma chave de API, apiKeyHelper ou cabeçalhos personalizados, mesmo sem nenhum requisito de administrador na máquina. Atualize para a v2.1.266 ou posterior. Você não precisa alterar sua configuração.
Antes da v2.1.261, em máquinas que definem forceLoginMethod como "gateway", o Claude Code usava um login salvo remanescente em vez de falhar as requisições ao modelo, e relatava uma credencial de ambiente configurada com This machine's managed settings require a first-party login em vez da mensagem de inicialização.
Your account is on hold
A conta Claude por trás do seu login foi suspensa. O Claude Code mostra a primeira mensagem quando tenta renovar seu login salvo e descobre a suspensão, e a segunda quando um login que você conclui no navegador a informa:-p) e no Agent SDK, o código de erro estruturado é account_on_hold. Antes da v2.1.235, o Claude Code relatava uma conta suspensa como Login expired · Please run /login, cujas etapas de recuperação não conseguem remover uma suspensão.
O que fazer:
- Abra o link na mensagem para ver os detalhes da suspensão ou contestá-la
- Se você tiver outra conta Claude ou uma chave de API que não seja afetada pela suspensão, pode continuar trabalhando enquanto a suspensão é resolvida: execute
/logincom essa conta ou defina a chave comANTHROPIC_API_KEY
Anthropic profile login expired
O Claude Code está se autenticando por meio de um perfil de credenciais da Anthropic cuja credencial de login salva expirou, e o perfil não contém nenhuma credencial de atualização que o Claude Code possa usar para renová-la. O Claude Code interrompe cada requisição localmente sem tentar novamente.- Se a mensagem começar com
Login expired, execute/loginpara entrar novamente - Para renovar um perfil que o login sem chave do Console ou o
ant auth loginda CLI da Claude Platform gravou, execute/loginem uma máquina que ofereça o login sem chave. Escolha a conta do Anthropic Console e depois Sign in with your Console account. O Claude Code substitui a credencial expirada nesse perfil - Para renovar um perfil que outra ferramenta criou, entre novamente com essa ferramenta. Se, em vez disso, você escolher Sign in with your Console account no
/login, o Claude Code deixa o perfil como está e cria uma chave de API - Se um administrador provisionou a credencial do perfil, peça a ele que emita uma nova
- Execute
/statuspara confirmar a fonte de credencial ativa e o nome do perfil - Para deixar de usar o perfil, remova a definição de
ANTHROPIC_PROFILEse você a definiu e então autentique-se de outra forma, como/loginouANTHROPIC_API_KEY
- Quando o Claude Code descobriu o perfil a partir do seu diretório de configuração e o modo de autenticação dele é
user_oauth, a mensagem começa comLogin expirede oferece/loginprimeiro. O Claude Code dá a um/loginfuncional precedência sobre o perfil descoberto e então se autentica com sua conta claude.ai. Da v2.1.234 até a v2.1.277, essa forma diziaAnthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile. Antes da v2.1.234, o Claude Code também mostrava a formaRe-authenticate your Anthropic profilenesse caso. - Quando você selecionou o perfil com
ANTHROPIC_PROFILE, a mensagem começa comAnthropic profile login expired.
ANTHROPIC_PROFILE, um que o Claude Code descobre como o perfil ativo no seu diretório de configuração da Anthropic, ou um que o Claude Code gravou quando você entrou sem uma chave de API. Sessões que se autenticam com uma chave de API, um bearer token como ANTHROPIC_AUTH_TOKEN ou um provedor de terceiros nunca veem esta mensagem.
OAuth scope requirement
O token armazenado é anterior a um escopo de permissão de que um recurso mais recente precisa:- Execute
/loginpara obter um novo token com os escopos atuais. Você não precisa fazer logout antes.
claude.ai rejected the session token
Uma requisição de um conector do claude.ai falhou porque o claude.ai rejeitou o token do seu login no Claude Code. O token rejeitado é o seu login, e não a autorização própria do conector no claude.ai, então autorizar o conector novamente não resolve. Em/mcp, o conector aparece como session token rejected e sua visualização de detalhes diz:
- Execute
/loginpara fazer login novamente - Reconecte o conector pelo
/mcpou execute/mcp reconnect <server>. Reconectar antes de fazer login novamente deixa o conector no mesmo estado. A opção Reconnect do painel/mcpinformayour claude.ai session token was rejected; a forma digitada/mcp reconnect <server>informa uma reconexão bem-sucedida mesmo que o token ainda seja rejeitado.
MCP server needs you to sign in again
Um servidor MCP remoto rejeitou a credencial em uma chamada de ferramenta no meio da sessão, geralmente porque um login ou token expirou ou porque o token não tem uma permissão de que a ferramenta precisa. A chamada de ferramenta falha, e o/mcp marca o servidor como precisando de autenticação.
Para um servidor no qual você faz login a partir do Claude Code, incluindo um conector do claude.ai, o login expirou ou foi revogado:
/mcp, selecione o servidor e faça login novamente pelo menu dele.
Para um servidor configurado com um script headersHelper, o Claude Code já executou o helper novamente e tentou a chamada de novo uma vez antes de mostrar isto:
/mcp, que executa o helper novamente.
Para um servidor com um cabeçalho Authorization estático na sua configuração:
/mcp.
Antes da v2.1.273, os casos de login expirado, headersHelper e cabeçalho Authorization mostravam todos MCP server "<name>" requires re-authorization (token expired).
Um servidor também pode recusar uma chamada de ferramenta com HTTP 403 insufficient_scope para pedir que você autorize um escopo, às vezes um que seu token já lista. A mensagem indica esse escopo:
/mcp, selecione o servidor e autentique-se novamente pelo menu dele.
Quando a configuração do servidor não define oauth.scopes nem authServerMetadataUrl, o Claude Code solicita o escopo que o servidor indicou. Com qualquer uma dessas configurações, o Claude Code solicita os escopos dessa configuração. Se você fixou oauth.scopes, adicione o escopo ausente a essa lista antes de se autenticar novamente.
Antes da v2.1.274, este caso mostrava a mensagem needs you to sign in again, e antes da v2.1.273 mostrava requires re-authorization (token expired) como os outros casos.
MCP server URL is missing or not a valid URL
O Claude Code se recusou a iniciar um login OAuth para um servidor MCP remoto porque aurl configurada do servidor não é analisada como uma URL. A menos que o Claude Code tenha um problema de configuração mais específico a relatar para o servidor, executar claude mcp login <name> no seu shell imprime a recusa como:
- Defina a
urlda entrada como o endpoint real do servidor onde o servidor está configurado, ou defina a variável de ambiente que sua referência${VAR}indica, e então execute o login novamente.
Issuer mismatch in authorization response
Durante um login OAuth do MCP, o servidor de autorização redirecionou de volta para o Claude Code com um parâmetroiss que não indica o emissor que o Claude Code esperava com base nos metadados OAuth do servidor. Um emissor incorreto nesta etapa é a aparência de um ataque de confusão de servidor de autorização (mix-up), então o Claude Code faz o login falhar em vez de trocar o código de autorização. O Claude Code mostra o erro no menu do servidor em /mcp após o login no navegador:
expected é o emissor dos metadados OAuth do servidor, e received é o valor de iss que o redirecionamento trouxe. Um login cujo redirecionamento não traz nenhum parâmetro iss passa na verificação, a menos que os metadados do servidor definam authorization_response_iss_parameter_supported, caso em que o Claude Code faz o login falhar.
O que fazer:
- Tente o login novamente pelo
/mcp - Se o erro se repetir, relate-o ao operador do servidor. A correção é no lado do servidor: o servidor de autorização deve retornar no parâmetro
isso mesmo emissor que anuncia em seus metadados - Para se conectar enquanto o servidor está sendo corrigido, inicie o Claude Code com
MCP_SDK_GENERATION=v1, cujo runtime não executa esta verificação. Isso remove uma proteção contra ataques de mix-up, então prefira a correção no lado do servidor
MCP_SDK_GENERATION=v2.
Refusing to send credentials to non-https token endpoint
No runtime v2, o Claude Code envia uma requisição de token do OAuth do MCP apenas para um endpoint de token servido por HTTPS ou emlocalhost, 127.0.0.1 ou ::1. Esta mensagem significa que o endpoint de token do servidor não é nenhum desses, então o Claude Code parou antes de enviar a requisição. Isso acontece após o login no navegador, então a etapa do navegador é bem-sucedida primeiro, e novamente sempre que o Claude Code atualiza o token do servidor.
Em sua forma completa, a mensagem vem do MCP SDK e cita o endpoint de token que ele recusou. No log de depuração, ela vem após Error during auth completion: para um login ou Token refresh failed: para uma atualização. No seu shell, claude mcp login <name> a imprime após Couldn't complete authentication for "<name>":, e em uma sessão, o /mcp a mostra no menu do servidor:
io, seguido de from the MCP SDK for e a URL do servidor ocultada. Outros erros do MCP SDK assumem o mesmo formato ali. A mensagem ocultada só pode ser este erro quando o endpoint de token do servidor é http:// simples em um endereço diferente de localhost, 127.0.0.1 ou ::1.
O que fazer:
- Sirva esse endpoint de token por HTTPS, por exemplo, colocando o servidor atrás de um proxy reverso ou túnel que termine o TLS e configurando o servidor para anunciar o endereço
https:// - Para se conectar sem alterar o servidor, inicie o Claude Code com
MCP_SDK_GENERATION=v1, cujo runtime não aplica esta regra e envia a requisição de token por HTTP simples. Essa escolha dura até você sair e se aplica a todos os servidores. O runtime v1 também ignora a verificação do emissor, então prefira servir o endpoint por HTTPS
AWS credentials expired or invalid
Seu token de sessão da AWS expirou ou foi rejeitado. Esta mensagem aparece em um 401 da Claude Platform na AWS ou do endpoint Mantle, que é como esses provedores relatam um token de segurança expirado. A dica de ação no meio varia conforme sua configuração. A parte estável é o inícioAWS credentials expired or invalid:
awsAuthRefresh estava configurado.
O que fazer:
- Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador
- Se
awsAuthRefreshestiver definido, execute em outro terminal o comando indicado na mensagem, comoaws sso login --profile myprofile, e conclua o login no navegador, depois tente novamente. Caso contrário, atualize você mesmo a credencial da AWS que usa: seu login SSO, chaves de acesso, chave de API ou token de proxy - Com
awsAuthRefreshdefinido em uma sessão interativa, você pode, em vez disso, executar/login, escolher 3rd-party platform e então selecionar Claude Platform on AWS · refresh credentials em Using 3rd-party platforms para executar o mesmo comando sem reiniciar o Claude Code. Consulte Configurar credenciais da AWS - Se o erro se repetir depois que o comando de atualização for bem-sucedido, confirme que a identidade é válida fora do Claude Code com
aws sts get-caller-identityno mesmo shell e perfil
AWS authentication failed
Seu provedor AWS retornou um 403, ou o Amazon Bedrock retornou um 401. O Amazon Bedrock relata um token de segurança expirado como 403, mas um 403 também é como ele relata uma negação de autorização, como umaAccessDeniedException causada pela falta de uma permissão do IAM. O Claude Code não consegue distinguir essas duas causas.
Um 401 do Amazon Bedrock também cai aqui em vez de em AWS credentials expired or invalid, porque o Amazon Bedrock não relata um token expirado como 401. Um 401 desse endpoint normalmente vem de algo mais no caminho da requisição, como um proxy corporativo.
Uma atualização de credencial corrige um token expirado, mas não consegue corrigir as outras causas, então a mensagem oferece ambas:
AWS authentication failed.
Quando o 403 é a resposta do Amazon Bedrock de que você não tem acesso ao modelo com o ID de modelo especificado, a dica, em vez disso, diz para você habilitar o modelo para sua conta e região no console do Amazon Bedrock.
Antes da v2.1.273, esta mensagem aparecia apenas quando awsAuthRefresh estava configurado.
O que fazer:
- Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador
- Atualize suas credenciais da AWS caso uma credencial expirada seja a causa: execute o comando
awsAuthRefreshindicado na mensagem, quando houver um definido, ou atualize você mesmo seu login SSO, chaves de acesso, chave de API ou token de proxy - Se suas credenciais estiverem atualizadas, confirme que as permissões do IAM em Configuração do IAM estão anexadas à identidade que você está usando e que o modelo selecionado está habilitado para sua conta e região
- Execute
aws sts get-caller-identitypara confirmar qual identidade suas requisições usam
Google Cloud credentials expired or invalid
Suas credenciais do Google Cloud para o Agent Platform do Google Cloud expiraram ou foram rejeitadas: a requisição retornou um 401, que é como o Agent Platform relata a expiração de credenciais. A dica de ação no meio varia conforme sua configuração. A parte estável é o inícioGoogle Cloud credentials expired or invalid:
- Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com seu administrador
- Se você se autentica com application default credentials, execute o comando
gcpAuthRefreshindicado na mensagem, ougcloud auth application-default login, e conclua o login, depois tente novamente - Se você faz o roteamento por um gateway de LLM com
CLAUDE_CODE_SKIP_VERTEX_AUTHdefinida, atualize o token do gateway emANTHROPIC_AUTH_TOKENouANTHROPIC_CUSTOM_HEADERSe então tente novamente - Se você se autentica com um arquivo de chave de conta de serviço, confirme que
GOOGLE_APPLICATION_CREDENTIALSaponta para uma chave válida. Consulte Configurar credenciais do GCP - Se o erro se repetir após uma atualização, confirme que a identidade funciona fora do Claude Code com
gcloud auth application-default print-access-tokenno mesmo shell
Please run /login ou Failed to authenticate, que não consegue atualizar as credenciais do Google Cloud.
Google Cloud authentication failed
A Agent Platform do Google Cloud retornou um 403, que ela usa para negações de autorização em vez de credenciais expiradas. Geralmente, a identidade com a qual você se autentica não tem uma permissão de IAM, ou o modelo não está habilitado para o seu projeto. A dica de ação no meio varia de acordo com a sua configuração. A parte estável é oGoogle Cloud authentication failed inicial:
- Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com o seu administrador
- Confirme se as funções em Configuração de IAM foram concedidas à identidade com a qual você se autentica
- Confirme se o modelo está habilitado para o seu projeto. Consulte Solicitar acesso ao modelo
Please run /login ou Failed to authenticate, que não consegue atualizar as credenciais do Google Cloud.
Microsoft Foundry authentication failed
O Microsoft Foundry retornou um 401 ou 403: a credencial do Azure na requisição foi rejeitada, ou a identidade por trás dela não tem acesso ao recurso do Foundry. O/login não consegue gerar credenciais do Azure. A dica de ação no meio varia de acordo com a sua configuração. A parte estável é o Microsoft Foundry authentication failed inicial:
- Se a dica disser que as credenciais são gerenciadas por este ambiente, o aplicativo que iniciou o Claude Code é dono da credencial e as outras etapas aqui não se aplicam: tente novamente ou entre em contato com o seu administrador
- Atualize a credencial que você configurou em Configurar credenciais do Azure: faça a rotação de
ANTHROPIC_FOUNDRY_API_KEY, gere um novoANTHROPIC_FOUNDRY_AUTH_TOKENou executeaz loginpara que a cadeia de credenciais padrão do Microsoft Entra possa fazer login novamente - Se a credencial estiver atualizada, confirme se a identidade tem acesso ao recurso do Foundry. Consulte Configuração do Azure RBAC
Please run /login ou Failed to authenticate, que não consegue atualizar as credenciais do Azure.
Could not load AWS or Google Cloud credentials
O Claude Code não conseguiu obter credenciais utilizáveis da cadeia de provedores de credenciais da AWS ou das suas credenciais padrão de aplicativo do Google na máquina em que é executado, então nenhuma requisição chegou ao seu provedor de nuvem. O detalhe após o· indica a causa específica, como uma sessão de SSO expirada, credenciais padrão de aplicativo ausentes relatadas como Could not load the default credentials ou um login revogado relatado como invalid_grant:
-p e no Agent SDK, o código de erro estruturado é cloud_credential_error. Antes da v2.1.267, a mensagem exibia apenas o texto de detalhe após API Error:, e o código estruturado era server_error ou unknown.
O que fazer:
- Execute o comando de login do seu provedor, como
aws sso login --profile myprofileougcloud auth application-default login, e depois tente novamente. Credenciais do Bedrock, Agent Platform ou Foundry não carregando mostra como confirmar as credenciais fora do Claude Code - Se o detalhe indicar
AWS default-chain credential resolve timed out, a cadeia travou em vez de falhar, então siga AWS default-chain credential resolve timed out
AWS default-chain credential resolve timed out
A cadeia de provedores de credenciais padrão da AWS não produziu credenciais em 60 segundos, então o Claude Code interrompeu a resolução e falhou a requisição. Esse timeout é uma das causas de Could not load AWS or Google Cloud credentials. A falha é na resolução local de credenciais: a requisição nunca chegou ao Amazon Bedrock, à Claude Platform on AWS ou ao endpoint Mantle. O Claude Code limpa seu cache de credenciais e tenta novamente antes que esse erro apareça, então, quando você o vê, a cadeia já travou em tentativas repetidas.credential_process no seu perfil da AWS que aguarda uma entrada que não pode receber, e um contêiner ou VM cujo serviço de metadados da instância (IMDS) nunca responde à sondagem da cadeia.
Antes da v2.1.267, a mensagem era API Error: AWS default-chain credential resolve timed out.
Antes da v2.1.207, uma cadeia travada deixava a requisição aguardando indefinidamente em vez de falhar.
O que fazer:
- Execute
aws sts get-caller-identityno mesmo shell com o mesmoAWS_PROFILE. Se ele também travar, corrija o perfil; um comandocredential_processque solicita entrada interativamente é uma causa comum. - Conclua a etapa de login antes de iniciar o Claude Code, por exemplo
aws sso login --profile myprofile - Se a sua cadeia executa um login interativo que legitimamente precisa de mais de 60 segundos, como SSO com MFA por meio de um wrapper como
aws-vault, aumente o limite em milissegundos comCLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS
Bedrock setup verification timed out waiting for AWS
Uma chamada à AWS durante a verificação de credenciais do assistente de configuração do Bedrock, como a busca de credenciais ou a verificação de identidade, não terminou dentro do limite de 60 segundos. O assistente para de aguardar e falha a etapa de verificação:CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.
As causas comuns são uma rede ou proxy que trava as requisições à AWS, incluindo a atualização do token de SSO, e um auxiliar de credenciais ainda aguardando uma entrada que você não consegue ver. Aumente o limite apenas quando o auxiliar legitimamente precisar de mais tempo.
Uma única requisição travada à AWS também pode falhar por seu próprio timeout por requisição, que exibe uma mensagem mais curta na mesma etapa:
unreachable em vez de exibir qualquer uma das mensagens.
O que fazer:
- Execute
aws sts get-caller-identityno mesmo shell. Se ele também travar, o travamento está fora do Claude Code, na sua rede, no seu proxy ou no auxiliar de credenciais do seu perfil da AWS; corrija isso primeiro. - Conclua qualquer login interativo antes de abrir o assistente, por exemplo
aws sso login --profile myprofile - Se um auxiliar de credenciais no seu perfil da AWS legitimamente precisar de mais de 60 segundos para solicitar sua entrada, aumente o limite em milissegundos com
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS
Cloud gateway session expired
Você fez login por meio de um gateway de aplicativos Claude, e a sessão do gateway salva nesta máquina expirou e não pôde ser renovada, ou o gateway não a aceita mais, por exemplo, depois que o segredo JWT do gateway é substituído. Se você vir esta linha ao iniciar oclaude interativamente, a sessão foi aberta sem login no gateway:
claude diferente de claude auth, o Claude Code encerra com esta mensagem quando o gateway não aceita mais a sessão:
- Execute
/loginna sessão e conclua o login no navegador - Para uma inicialização não interativa, inicie o
claudeno mesmo ambiente, execute/logine depois execute seu comando novamente
Sign-in timed out while waiting for you to continue
Durante um login em um gateway de aplicativos Claude, o gateway informou a conta que fez login, e o Claude Code pediu que você a confirmasse antes de salvar a credencial. Você deixou a confirmação aberta além da expiração do próprio login, e o gateway não emitiu nenhum refresh token que pudesse renová-lo, então o Claude Code não armazenou nada quando você continuou:- Execute
/loginnovamente e confirme a conta antes que o login expire
Gateway refused the request
Você fez login por meio de um gateway de aplicativos Claude, e uma requisição retornou um 403: o gateway, ou o upstream por trás dele, a recusou. Fazer login novamente não altera uma recusa, então a mensagem direciona você ao administrador do seu gateway:- Peça ao administrador do seu gateway que investigue a requisição. O final
API Error:traz a recusa que o gateway retornou - Para administradores: uma regra de controle de acesso no gateway retorna um 403 que o log de auditoria registra com o motivo, e a negação de autorização de um upstream é repassada conforme Mensagens de erro do upstream
Please run /login ou Failed to authenticate, e fazer login novamente não eliminava a recusa.
Erros de rede e conexão
A maioria desses erros significa que uma requisição de rede do Claude Code falhou ao alcançar seu destino, ou algo entre Claude Code e a API alterou a resposta no caminho de volta; quando uma entrada também tem uma causa local, como uma falha na escrita de arquivo, seu corpo diz isso. Geralmente originam-se em sua rede local, proxy ou firewall, ou na política de rede do ambiente de nuvem.Unable to connect to API
A conexão TCP com a API falhou ou nunca foi concluída. Para os códigos de erro de conexão comuns, a mensagem indica o tipo de falha e mantém o código entre parênteses:Unable to connect to API seguido pelo código entre parênteses. Algumas dessas mensagens podem mostrar mais de um código: Connection refused pode mostrar ConnectionRefused ou ECONNREFUSED, por exemplo, e Can't reach the API server pode mostrar ENOTFOUND ou FailedToOpenSocket.
Antes da v2.1.227, cada uma dessas mensagens codificadas lia Unable to connect to API seguida pelo código, por exemplo Unable to connect to API (ECONNREFUSED).
As causas comuns incluem sem acesso à internet, uma VPN que bloqueia api.anthropic.com, ou um proxy corporativo necessário que não está configurado.
O que fazer:
- Confirme que você pode alcançar o host da API a partir do mesmo shell executando
curl -I https://api.anthropic.com. No Windows PowerShell usecurl.exe -I https://api.anthropic.compara que o aliasInvoke-WebRequestintegrado não seja usado. - Se você estiver atrás de um proxy corporativo, defina
HTTPS_PROXYantes de iniciar Claude Code e veja Network configuration - Se você rotear através de um gateway de LLM ou relay, defina
ANTHROPIC_BASE_URLpara seu endereço. Veja Connect Claude Code to an LLM gateway para configuração. - Certifique-se de que seu firewall permite os hosts listados em Network access requirements
- Falhas intermitentes são tentadas novamente de forma automática; falhas persistentes apontam para um problema de rede local
curl funcionar mas Claude Code ainda falhar, a causa geralmente é algo entre o runtime e a rede em vez da rede em si:
- Verifique se
ANTHROPIC_BASE_URLestá definido executandoecho $ANTHROPIC_BASE_URL, ouecho $env:ANTHROPIC_BASE_URLno PowerShell, e procure por ele no blocoenvde seus arquivos de configurações. Quando está definido, Claude Code envia requisições de modelo para esse endereço em vez deapi.anthropic.com, então um valor remanescente apontando para um proxy local ou gateway que não está mais em execução produzConnection refusedmesmo quecurlalcance a API. Remova-o do seu perfil de shell ou configurações e inicie Claude Code a partir de um novo terminal. - No Linux e WSL, verifique
/etc/resolv.confpara um nameserver inacessível. WSL em particular pode herdar um resolver quebrado do host. - No macOS, um cliente VPN que foi desconectado ou desinstalado pode deixar uma interface de túnel ou regra de roteamento para trás. Verifique
ifconfigpara interfacesutunobsoletas e remova a extensão de rede da VPN em Configurações do Sistema. - Docker Desktop e runtimes de contêiner similares podem interceptar tráfego de saída. Saia deles e tente novamente para descartar isso.
Unable to connect to Anthropic services
Durante a configuração de primeira execução, Claude Code verifica se consegue alcançarapi.anthropic.com e platform.claude.com antes de mostrar a etapa de login. Quando qualquer uma das verificações falha, Claude Code imprime o motivo e sai.
HTTPS_PROXY. Antes da v2.1.222, a verificação usava um transporte de proxy diferente sem timeout: atrás de uma URL de proxy com o esquema https://, ela poderia travar em Checking connectivity... indefinidamente e depois falhar mesmo que as requisições de API através do mesmo proxy funcionem.
Claude Code pula essa verificação quando um arquivo de configurações gerenciadas, política MDM ou policy helper define forceLoginMethod como "gateway", ou define forceLoginGatewayUrl sem forceLoginMethod. Com qualquer uma das configurações, Claude Code abre a etapa de login na tela Cloud gateway em vez de um método de login Anthropic. Claude Code também pula a verificação quando uma fonte de configurações gerenciadas na máquina existe mas não pode ser lida, já que essa fonte pode conter a configuração do gateway. Antes da v2.1.247, Claude Code executava a verificação sob essa configuração também, e saía com esse erro quando os endpoints da Anthropic eram inacessíveis.
Claude Code também pula a verificação em uma máquina sem configurações gerenciadas quando seu próprio ~/.claude/settings.json nomeia um gateway com forceLoginMethod e forceLoginGatewayUrl. Antes da v2.1.295, Claude Code executava a verificação nesse caso.
O que fazer:
- Se a mensagem nomear uma variável de proxy, verifique se seu valor aponta para o proxy correto e peça ao seu time de rede para permitir conexões HTTPS através dele para o host na mensagem. Veja Network configuration.
- Trabalhe através das verificações em Unable to connect to API. O teste
curle a orientação de firewall lá se aplicam a essa verificação também. - Se sua rede está aberta e a falha persiste, Claude Code pode não estar disponível em seu país
Socket is closed
Socket is closed significa que a conexão que carregava uma resposta de streaming foi fechada enquanto a resposta ainda estava chegando. A causa mais comum é um proxy corporativo no Windows descartando um túnel estabelecido no meio da resposta.
Dependendo de quão longe a resposta havia progredido, Claude Code tenta novamente a requisição, mantém o que Claude produziu, ou encerra o turno. Veja Automatic retries.
Antes da v2.1.214, Claude Code não tentava novamente essa falha, e o turno parava com um erro contendo Socket is closed.
O que fazer:
- Se você vir esse erro, atualize para v2.1.214 ou posterior com
claude update, depois envie sua mensagem novamente - Se os turnos continuarem falhando atrás do mesmo proxy após atualizar, trabalhe através de Unable to connect to API e verifique a configuração do proxy em Network configuration
API returned an empty or malformed response
Claude Code mostra esse erro quando sua nova tentativa sem streaming de uma requisição de streaming com falha obtém um status de sucesso HTTP mas o corpo não é uma mensagem de API Claude: comumente uma página de erro HTML ou login, um corpo vazio, ou JSON em outro formato. Um proxy, gateway, ou página de login de rede respondendo no lugar da API é a fonte usual. Claude Code não tenta novamente a requisição, e o turno termina com esse erro.- Uma cláusula
Response:com o tipo de conteúdo, o tipo de corpo, comobody is an HTML pageouempty body, seu tamanho em bytes, e se a resposta carregava um id de requisição Anthropic. Quando a resposta nomeia um servidor reconhecível, comonginxoucloudflare, ou carrega headers intermediários, comocf-rayouvia, a cláusula lista esses também. - Uma sentença nomeando o id da requisição de streaming com falha e a falha que acionou a nova tentativa. Quando um stream havia aberto antes da falha, também relata quantos eventos de stream chegaram e, se algum chegou, quanto tempo o stream havia ficado silencioso quando a tentativa falhou.
intercepting the request.
Antes da v2.1.271, uma resposta que carregava uma mensagem de API válida sob um tipo de conteúdo não-JSON como text/plain também terminava o turno com esse erro. Alguns gateways de LLM usam esse tipo de conteúdo para a resposta sem streaming.
O que fazer:
- Leia a cláusula
Response:para ver qual sistema respondeu. Um corpo HTML, nenhum id de requisição Anthropic, ou um servidor nomeado comonginxoucloudflaresignifica que algo entre Claude Code e a API respondeu em seu lugar - Se você rotear através de um gateway de LLM, teste a rota com uma requisição direta e corrija o hop que retorna a resposta não-API
- Em uma rede com uma página de login, como Wi-Fi de convidado, complete o login em um navegador, depois tente novamente
- Se apenas a rota sem streaming através de seu gateway está quebrada, defina
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=1para desativar esse fallback, exceto quando o endpoint de streaming em si retorna404, onde Claude Code ainda recorre ao fallback
Streaming response ended before any complete data was received
Uma resposta de streaming de seu provedor de modelo foi concluída sem entregar nenhum dado utilizável, então Claude Code reenviou a requisição sem streaming para terminar o turno. Claude Code mostra o aviso uma vez por sessão, apenas em sessões interativas. Antes da v2.1.239, Claude Code tentava novamente de forma silenciosa sem streaming.- Configure qualquer proxy ou gateway entre Claude Code e seu provedor de modelo para passar corpos de resposta de streaming e seus headers através sem modificação
- Em Amazon Bedrock, veja Streaming errors behind a gateway or proxy para os requisitos de header e corpo
Bedrock streaming response has an unexpected content-type
Um gateway ou proxy entre Claude Code e Amazon Bedrock está transformando o corpo da resposta de streaming ou seu headerContent-Type. Amazon Bedrock transmite respostas como application/vnd.amazon.eventstream. Em vez de decodificar um corpo que não consegue ler, Claude Code rejeita uma resposta de streaming bem-sucedida que relata um content-type diferente. Claude Code não tenta novamente a requisição.
API Error: Truncated event message received após toda a resposta ter sido armazenada em buffer.
O que fazer:
- Configure o gateway para passar o corpo da resposta
InvokeModelWithResponseStreame seu headerContent-Typeatravés sem modificação. Um intermediário que re-emite o stream como server-sent events é uma causa comum. - Definir
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1oculta esse erro, mas Claude Code não decodifica um corpo binário sob um header reescrito, então essas requisições recorrem a um caminho sem streaming mais lento como fallback. Veja Streaming errors behind a gateway or proxy.
SSL certificate errors
Um proxy ou appliance de segurança em sua rede está interceptando tráfego TLS com seu próprio certificado, e Claude Code não confia nele.Check your proxy or corporate SSL certificates, sem o código OpenSSL ou a dica NODE_EXTRA_CA_CERTS.
A partir da v2.1.199, uma falha de validação de certificado não é tentada novamente, então esse erro aparece na primeira tentativa em vez de após o retry budget completo. Versões anteriores gastavam alguns minutos tentando novamente antes de mostrá-lo. Condições TLS transitórias, como um timeout de handshake, ainda são tentadas novamente.
Durante /login e a verificação de conectividade de inicialização, a mesma falha produz uma mensagem diferente:
- Exporte o bundle de CA de sua organização e aponte Claude Code para ele com
NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem - Veja Network configuration para instruções de configuração completa
- Não defina
NODE_TLS_REJECT_UNAUTHORIZED=0, que desabilita a validação de certificado inteiramente
Host not allowed in a cloud session
Uma requisição HTTP de saída de uma sessão na nuvem ou rotina foi bloqueada pela política de rede do ambiente.- Abra seu ambiente para edição, ou a partir do formulário da rotina ou a partir do seletor de ambiente onde você inicia sessões na nuvem.
- No diálogo Edit cloud environment, altere Network access de Trusted para Custom, depois adicione o domínio bloqueado a Allowed domains. Digite um domínio por linha. Marque Also include default list of common package managers para manter a allowlist padrão junto com seus domínios personalizados. Selecione Full em vez disso se você quiser acesso irrestrito.
- Clique em Save changes. A próxima execução usa a allowlist atualizada. Para uma sessão na nuvem que já está aberta, veja quando uma mudança de acesso de rede alcança sessões existentes.
The proxy refused the connection
Você vê essa mensagem quando Claude lê um artefato através do proxy que você definiu emHTTPS_PROXY ou uma variável de proxy relacionada. O conteúdo do artefato vem de *.frame.claudeusercontent.com, então Claude Code primeiro envia ao proxy uma requisição CONNECT pedindo para abrir um túnel para esse host. Quando o proxy recusa, nada alcança o host, e a mensagem carrega o status HTTP do proxy:
CONNECT. O host nunca respondeu, então cada status aponta para uma correção diferente:
HTTP 407: o proxy requer credenciais que não recebeu. Coloque-as na URL do proxy, como Basic authentication mostra.HTTP 403: o proxy recusa fazer túnel para*.frame.claudeusercontent.com. Peça a quem executa o proxy para permitir esse host, que Network access requirements lista.- Qualquer outro status, como
HTTP 502: o proxy não abriu o túnel por seu próprio motivo, como falhar ao alcançar o host. Procure o status nos logs do proxy. unreadable replyno lugar de um status: o que está no endereço do proxy não respondeu com uma linha de status HTTP. Verifique se o endereço é um proxy HTTP.
- Verifique o endereço e credenciais na variável de proxy, como Proxy configuration descreve, depois execute
curl -x http://proxy.example.com:8080 -I https://api.anthropic.coma partir do shell em que você inicia Claude Code, usando sua própria URL de proxy. No Windows PowerShell, executecurl.exe. Se essa sonda falhar da mesma forma, corrija a configuração do proxy primeiro. Se funcionar, a recusa é específica para o host do artefato. - Se sua rede deixa Claude Code alcançar o host do artefato diretamente, adicione
.frame.claudeusercontent.comaNO_PROXY. Mantenha a entrada estreita: uma entrada.claudeusercontent.commais ampla também contorna o proxy parabridge.claudeusercontent.com, que organizações com IP allowlisting precisam manter no proxy.
The cloud environments service returned an empty or unexpected response
Claude Code solicita sua lista de ambientes de nuvem em vários pontos, como quando você cria uma sessão na nuvem a partir da CLI ou executa/remote-env. Quando não consegue ler a resposta do servidor, mostra uma dessas mensagens:
couldn't list environments: no diálogo /remote-env.
O que fazer:
- Tente novamente a ação. Claude Code solicita a lista novamente cada vez
- Se a mensagem continuar aparecendo, verifique status.claude.com para incidentes ativos
Failed to fetch session from Sessions API
Essa mensagem significa que Claude Code encontrou a sessão na nuvem que você pediu para trazer ao seu terminal, mas não conseguiu ler seu histórico de conversa dos servidores da Anthropic, então não a abriu:claude --teleport, /teleport, ou ao escolher a sessão na lista /tasks. claude --teleport <session-id> a imprime e sai com código 1.
O que fazer:
- Execute o mesmo teleport novamente. Se falhar da mesma forma, relate o problema
Couldn’t reconnect to your Remote Control session
claude --resume ou claude --continue reconecta à sessão Remote Control registrada nessa conversa. Essa mensagem significa que a reconexão falhou por um motivo que pode ser temporário, como uma interrupção de rede ou um erro de servidor, então Claude Code não consegue confirmar se a sessão remota ainda existe. Sua sessão local continua executando sem Remote Control.
O que fazer:
- Execute
/remote-controlpara tentar novamente a conexão - Inicie uma nova sessão com
claude --remote-controlpara criar uma nova sessão Remote Control - Para outras mensagens de inicialização do Remote Control, veja Troubleshoot Remote Control
Previous session is unavailable — run /remote-control to start a new one.
Sessions ended while this machine was offline
Claude Code mostra essa mensagem no terminal executandoclaude remote-control depois que sua máquina estava offline tempo suficiente para que o servidor limpasse o ambiente Remote Control que sua máquina estava servindo. As sessões nesse ambiente terminaram, e você não consegue retomá-las. A contagem é o número de sessões que terminaram.
- Quando Claude Code lista worktrees mantidos sob essa mensagem, recupere qualquer trabalho não commitado deles
- Execute
claude remote-controlpara iniciar um ambiente novo
Couldn’t share the transcript
Depois que você concorda em compartilhar sua transcrição de sessão a partir de um prompt de pesquisa, como a pesquisa de qualidade de sessão, Claude Code a carrega para Anthropic, ou salva um arquivo local em vez disso em provedores de terceiros, em sessões Claude apps gateway, e quando nenhuma credencial Anthropic está disponível. Essa mensagem significa que o compartilhamento não foi concluído.- Execute
/feedbackpara enviar a transcrição com uma descrição do que aconteceu. Veja Report an error se/feedbacknão estiver disponível em seu ambiente - Se outras requisições também estão falhando, verifique sua conexão de rede e veja Unable to connect to API
Couldn’t send feedback
Você enviou um relatório do diálogo/feedback, /bug, ou /share e o upload para Anthropic falhou. O diálogo mantém seu texto para que você possa tentar novamente.
: not signed in. Run /login, then retry.: o diálogo carrega apenas quando Claude Code encontrou credenciais Anthropic ao abrir, e nenhuma era utilizável no momento em que você enviou. Por exemplo, você fez logout nesta máquina nesse meio-tempo, ou seu login não pôde mais ser atualizado.- Um parêntese:
(server returned <status>)é o código de resposta do serviço;(request timed out)e(couldn't reach the service)são falhas de rede. Quando Claude Code não consegue nomear um motivo, o parêntese está ausente.
The draft is still queued. Try again later. em vez disso, e o rascunho permanece na fila para outra tentativa.
O que fazer:
- Para a redação de não autenticado, execute
/logine envie novamente - Caso contrário, envie novamente; se outras requisições também estão falhando, verifique sua conexão de rede e veja Unable to connect to API
- Se continuar falhando, registre o relatório em github.com/anthropics/claude-code/issues, como a mensagem diz
Erros de requisição
Esses erros estão relacionados ao conteúdo de sua requisição. A maioria retorna da API após ela rejeitar a requisição; alguns são produzidos localmente pelo Claude Code antes de qualquer requisição ser enviada.Prompt é muito longo
A conversa mais os arquivos anexados excedem a janela de contexto do modelo./clear quando DISABLE_COMPACT está definido. Formas mais longas do erro, como a forma de falha de compactação abaixo, mantêm a redação Prompt is too long ·. Na saída -p e na transcrição, o texto permanece Prompt is too long.
Quando você desativou a compactação automática em suas configurações de usuário, a linha também diz:
/config escreve autoCompactEnabled nas configurações do usuário. A dica aparece apenas quando uma mudança /config teria efeito. Por exemplo, não aparece quando DISABLE_AUTO_COMPACT ou DISABLE_COMPACT desativou a compactação automática. Também não aparece quando um escopo de precedência mais alta, como configurações de projeto ou gerenciadas, define autoCompactEnabled como false. Antes da v2.1.235, a linha não tinha dica de compactação automática.
Amazon Bedrock relata essa condição como Input is too long for requested model., que Claude Code trata da mesma forma. Antes da v2.1.217, Claude Code não reconhecia a redação do Bedrock, então a compactação automática nunca era acionada e /compact falhava com o mesmo erro.
Um gateway de aplicativos Claude relata essa condição como capability_rejected: prompt_too_long quando um upstream de nuvem rejeita a requisição na forma de erro própria do provedor. Claude Code trata o token da mesma forma que Prompt is too long. Antes da v2.1.228, Claude Code não reconhecia o token, então a compactação automática não era acionada.
Quando a compactação automática foi executada neste turno e falhou em um erro subjacente, como um modelo indisponível ou uma falha de autenticação, a mensagem nomeia esse erro após um separador:
/compact falha no mesmo erro até você fazer isso. Antes da v2.1.229, uma compactação automática falhada exibia Prompt is too long sem a causa.
Quando a compactação automática é executada neste erro, ela normalmente resume suas trocas mais antigas e mantém as mais novas. Como último recurso, Claude Code resume de forma diferente:
- Quando não consegue resumir nenhuma troca completa, Claude Code mantém seu prompt mais novo palavra por palavra e resume tudo antes dele.
- Nesse caso, quando a conversa não termina com seu prompt, Claude Code resume a conversa inteira.
/clear para começar do zero. Antes da v2.1.269, a compactação falhava sempre que não conseguia resumir uma troca completa, então uma sessão nesse estado atingia esse erro novamente a cada turno.
Uma conversa de troca única não tem turnos anteriores para resumir. Quando a compactação automática teria sido executada em uma, Claude Code pula a tentativa e explica o que preenche a requisição. Quando a API não relata contagens de tokens em seu erro, a mensagem lê:
Prompt is too long simples quando falhava.
O que fazer:
- Execute
/compactpara resumir turnos anteriores e liberar espaço, ou/clearpara começar do zero. Se/compactresponderNot enough messages to compact., a conversa é uma troca única sem nada anterior para resumir, então o espaço é ocupado por esse prompt e o que Claude Code envia com cada requisição: execute/cleare reenvie com menos texto colado ou anexos menores, ou reduza as definições de ferramentas e arquivos de memória usando as etapas abaixo - Execute
/contextpara ver um detalhamento do que está consumindo a janela: system prompt, ferramentas, arquivos de memória e mensagens - Desabilite servidores MCP que você não está usando com
/mcp disable <name>para remover suas definições de ferramentas do contexto - Reduza arquivos de memória
CLAUDE.mdgrandes ou mova instruções para regras com escopo de caminho que carregam apenas quando relevante - A compactação automática está ativada por padrão e normalmente previne esse erro. Se você a desativou em
/configou comDISABLE_AUTO_COMPACT, ative-a novamente. Se você mantê-la desativada, execute/compactvocê mesmo antes da janela se encher.
Contexto excede o limite de tokens
/context mostra este aviso no topo de sua saída quando a conversa cresceu além da janela de contexto do modelo. As requisições falham com Prompt is too long até você liberar espaço. Uma sessão interativa mostra esse erro como a linha Context limit reached.
/clear em vez de /compact quando você definiu DISABLE_COMPACT.
O que fazer:
- Em uma conversa com múltiplos turnos, execute
/compactpara resumir turnos anteriores e liberar espaço. Para começar do zero, execute/clear - Para mais formas de reduzir o uso, veja Prompt é muito longo
/context mostrava uso acima de 100% sem linha de aviso explicando o que isso significava ou como se recuperar.
Requisição muito grande
O corpo da requisição bruta excedeu o limite de 32MB da API antes da tokenização, geralmente por causa de conteúdo colado grande, resultados de ferramentas ou anexos. Este limite é separado da janela de contexto.Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).: imagens ou documentos empurraram a requisição para além do limite. Claude Code tenta novamente com eles removidos.Request too large for the API's 32MB request limit: as mensagens sozinhas estão acima do limite, então a mensagem dizcompacting cannot make it fite Claude Code não tenta novamente. Em modo não interativo, a mensagem diz para você reduzir a entrada ou iniciar uma nova sessão.
Request too large (max 32MB). Double press esc to go back and try with a smaller file. Antes da v2.1.229, Claude Code mostrava o conselho de anexo para cada rejeição, mesmo quando a compactação não podia ajudar.
O que fazer:
- Se a mensagem diz
compacting cannot make it fit, pressione Esc duas vezes para voltar além do turno que adicionou o conteúdo grande, ou execute/clearpara começar do zero - Caso contrário, execute
/compact, que remove imagens e anexos acumulados - Referencie arquivos grandes por caminho em vez de colar seu conteúdo, para que Claude possa lê-los em pedaços
- Para imagens, veja Imagem era muito grande abaixo
Imagem era muito grande
Uma imagem colada ou anexada excede os limites de tamanho ou dimensão da API.- Redimensione a imagem antes de colar. A API aceita imagens de até 8000 pixels na borda mais longa para uma única imagem, ou 3000 pixels quando mais de 20 imagens estão em contexto.
- Faça uma captura de tela mais apertada da região relevante em vez da tela inteira
Não foi possível redimensionar a imagem
Claude Code não conseguiu reduzir uma imagem anexada antes de enviá-la para a API.- Se a mensagem pedir para você converter a imagem, converta-a para PNG, JPEG, GIF ou WebP e anexe-a novamente. Claude Code pode verificar dimensões para esses formatos a partir do cabeçalho do arquivo, sem decodificar a imagem.
- Se a mensagem relatar um limite de dimensão ou tamanho, redimensione ou recomprima a imagem abaixo desse limite antes de anexar.
- Se a mensagem nomear uma causa, como um JPEG CMYK, um WebP animado ou um arquivo possivelmente danificado, salve novamente a imagem no formato que a mensagem sugere e anexe-a novamente.
Request rejected as unprocessable by the model
A API recusou a requisição como uma que o modelo não consegue processar. A mensagem é da própria API.- Se a mensagem continuar aparecendo em uma conversa com imagens ou documentos, remova-os você mesmo. Pressione Esc duas vezes para voltar antes dos turnos que os adicionaram, ou execute
/clearpara começar do zero.
Erros de PDF
O PDF que você anexou não pôde ser processado. As mensagens são mostradas aqui em sua forma não interativa; em uma sessão interativa, elas solicitam que você pressione esc duas vezes e tente novamente.- Para PDFs de tamanho excessivo, peça a Claude para ler um intervalo de páginas com a ferramenta Read em vez de anexar o arquivo inteiro, ou extraia texto com uma ferramenta como
pdftotexte referencie o arquivo de saída por caminho - Para PDFs protegidos ou inválidos, remova a senha ou re-exporte o arquivo de seu aplicativo de origem e tente novamente
pdftoppm. Instale poppler-utils com o comando que a mensagem fornece, ou em outras plataformas um build do poppler que coloca pdftoppm em seu PATH. Veja Comportamento da ferramenta Read para quais PDFs são lidos por intervalo de páginas.
Entradas extras não são permitidas
Um proxy ou gateway de LLM entre Claude Code e a API removeu o cabeçalho de requisiçãoanthropic-beta, então a API rejeitou campos que dependem dele.
context_management junto com um cabeçalho anthropic-beta que os habilita. Quando um gateway encaminha o corpo mas remove o cabeçalho, a API vê campos que não reconhece.
O que fazer:
- Configure seu gateway para encaminhar o cabeçalho
anthropic-beta. Veja passagem de recursos para o que os gateways devem encaminhar. - Como fallback, defina
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1antes de iniciar. Desabilitar capacidades de pré-lançamento cobre o escopo exato.
Esquema de entrada de ferramenta é inválido
Uma ferramenta na requisição declarou uminput_schema que falha na validação JSON Schema da API, então a API rejeitou a requisição inteira. O número após tools. é a posição da ferramenta que falha na lista de ferramentas da requisição, não um nome que você possa procurar.
$schema. Claude Code não verifica esses esquemas contra o meta-esquema JSON Schema, embora a verificação de nome de propriedade de nível superior ainda se aplique.
Antes da v2.1.216, nenhuma implantação executava as verificações de exclusão.
O que fazer:
- Se sua versão do Claude Code for anterior a v2.1.216, execute
claude update. - Remova ou desabilite o servidor MCP que declara o esquema inválido. O erro nomeia a ferramenta apenas por posição. Na v2.1.216 ou posterior, verifique o log de cada servidor para uma linha nomeando uma ferramenta cujo esquema de entrada seria rejeitado. Se nenhum log nomear uma, desabilite servidores um de cada vez.
- Se você mantém o servidor, corrija o
input_schemada ferramenta. O esquema deve ser um JSON Schema válido, e nomes de propriedades de nível superior devem ter 1 a 64 caracteres e usar apenas letras ASCII e dígitos,_,.e-. Veja Ferramentas com esquemas de entrada inválidos.
Nome de ferramenta MCP com mais de 128 caracteres
Um servidor MCP lista uma ferramenta cujo nome completo, comomcp__<server>__<tool>, é mais longo que os 128 caracteres que a API aceita. Claude Code deixa essa ferramenta fora das ferramentas que envia para Claude, e as outras ferramentas do servidor continuam funcionando. Em uma sessão que você inicia com claude --debug a partir do seu shell, Claude Code escreve esta mensagem no log de depuração em ~/.claude/debug/<session-id>.txt:
- Se você mantém o servidor, encurte o nome da ferramenta.
- Se o servidor está em sua configuração MCP, dê a ele um nome mais curto lá, como
dbno lugar deanalytics-database. Depois atualize o que se refere ao servidor ou às suas ferramentas pelo nome antigo, como regras de permissão e matchers de hook. - Se um plugin agrupa o servidor, o nome completo da ferramenta também inclui o nome do plugin. Peça ao mantenedor do plugin para encurtar o nome do servidor ou da ferramenta.
API Error: 400 ... tools.N.custom.name: String should have at most 128 characters.
tool_use.name com mais de 200 caracteres
Uma chamada de ferramenta no histórico de conversa carrega um nome mais longo que os 200 caracteres que a API aceita em uma requisição:No such tool available e a conversa continua sem esse erro de API.
O que fazer:
- Execute
claude updatee retome a conversa. A versão atualizada repara o nome excessivamente longo quando carrega a transcrição, então uma conversa que estava presa funciona novamente.
/compact e --resume, então esse erro se repetia e a conversa ficava presa.
Há um problema com o modelo selecionado
O nome do modelo configurado não foi reconhecido ou sua conta não tem acesso a ele. A partir da v2.1.160, a dica à direita, mostrada aqui em sua forma interativa, varia por superfície.- CLI interativa: execute
/modelpara escolher entre modelos disponíveis para sua conta. - Modo não interativo (
-p): passe--modelcom um alias ou ID válido, ou definaANTHROPIC_MODEL. O texto de erro mostraRun --modelnessa superfície. - Agent SDK: o texto de erro omite a dica porque o modelo é definido programaticamente. Defina
modelemOptionsem TypeScript ouClaudeAgentOptions(model=...)em Python, e trate o erro estruturadomodel_not_foundpara exibir sua própria nova tentativa ou seletor de modelo. - Use um alias como
sonnetouopusem vez de um ID versionado completo. Aliases resolvem para um padrão mantido para que não fiquem obsoletos. Veja Configuração de modelo. - Se o modelo errado continuar voltando na CLI, um ID obsoleto está definido em algum lugar. Verifique os locais onde você pode definir um modelo em ordem de prioridade e remova o valor obsoleto.
- Claude Code relata um login claude.ai expirado como Login expirado, não como esse erro. Antes da v2.1.206, um login expirado que não podia mais ser atualizado falhava em cada modelo com esse erro; execute
/loginse você vir isso em uma versão mais antiga. - Para implantações do Google Cloud’s Agent Platform, veja Solução de problemas do Google Cloud’s Agent Platform.
Modelo não é um ID de modelo reconhecido
A string que você passou para uma mudança de modelo não é uma que Claude Code possa usar como modelo, então ele recusou a mudança sem enviar uma requisição e a sessão mantém seu modelo atual. Você pode obter esse erro quando um modelo é definido através do método Agent SDKsetModel(), por um aplicativo que executa a CLI do Claude Code para você, como o Aplicativo Desktop, ou quando você escolhe um modelo de um dispositivo conectado através de Remote Control. Antes da v2.1.200, Claude Code salvava a string e falhava na próxima requisição com Há um problema com o modelo selecionado.
Sonnet 5, que a mensagem repete sem seu espaço. A dica à direita nomeia o alias ou ID de modelo mais próximo. Quando nada é próximo o suficiente, lê Run /model to see available models. Em uma sessão que o Aplicativo Desktop inicia para você, a dica sem correspondência lê Switch to a different model.
Quando você muda através do Agent SDK ou um aplicativo na API Anthropic, apenas uma string que não pode ser um ID de modelo obtém esse erro, como um nome de exibição ou uma string vazia.
Quando você escolhe um modelo de um dispositivo Remote Control, Claude Code verifica a string localmente. Qualquer string que não seja um alias de modelo, um modelo que Claude Code lista ou você configurou, ou um ID que começa com claude- obtém esse erro, um ID digitado incorretamente como claud-sonnet-5 incluído. Antes da v2.1.260, essa verificação não cobria escolhas de Remote Control, então uma string não reconhecida era aplicada e falhava na próxima requisição.
O que fazer:
- Execute
/modelsem argumento para abrir o seletor e escolher entre os modelos disponíveis para sua conta, depois passe o alias ou ID mostrado lá - Se você usou um alias que apenas uma versão mais nova do Claude Code suporta, execute
claude update, ou passe o ID completo do modelo. O servidor ainda pode exigir uma versão mínima do Claude Code para esse modelo; veja Claude Code não suporta este modelo. - Um modelo salvo antes da v2.1.200 não é reparado por essa verificação. Se um valor obsoleto continua voltando, remova-o dos locais listados em Definindo seu modelo.
- Em qualquer provedor diferente da API Anthropic, ou atrás de um gateway ou
ANTHROPIC_BASE_URLcustomizado, apenas uma string vazia obtém esse erro. Claude Code ainda pode escrever a linha de diagnóstico de modelo não reconhecido no momento da requisição, em cada provedor.
Modelo não encontrado
Você mudou para um modelo por nome e Claude Code não conseguiu confirmar que um modelo com esse nome existe. Quando o nome não é um alias de modelo ou outra ortografia que Claude Code aceita localmente, Claude Code o verifica com uma requisição mínima de API, e esse erro é geralmente a resposta do seu endpoint de API. Com/model <name>, um nome que não pode ser um ID de modelo, como um contendo espaços, obtém a mesma mensagem.
Try '...' instead que nomeia o ID do seu provedor para um modelo de fallback.
O que fazer:
- Execute
/modelsem argumento e escolha entre os modelos disponíveis para sua conta, ou use um alias de modelo comosonnet, que resolve para um padrão mantido - Se você digitou um ID completo, verifique-o contra o catálogo de modelos do seu provedor. Um modelo recém-lançado pode estar disponível na API Anthropic antes de seu provedor ou região oferecer.
- No Agent SDK,
setModel()falha com essa mensagem e a sessão continua executando em seu modelo anterior. No SDK TypeScript, chamesupportedModels()para listar os modelos para os quais você pode mudar. - Antes da v2.1.265,
/modeltambém rejeitava a ortografia do aliasopusplan[1m]com esse erro. Nessas versões, atualize Claude Code, ou defina o modelo em configurações ou com--model.
Não foi possível confirmar o modelo com a API
Você mudou de modelos através do método Agent SDKsetModel() ou um aplicativo que executa a CLI do Claude Code para você, como o Aplicativo Desktop, e a requisição que confirma o ID do modelo com seu endpoint de API não obteve resposta em cinco segundos. A sessão mantém seu modelo atual.
Try again.
O que fazer:
- Mude para o modelo novamente
- Se a mudança continuar falhando, verifique se Claude Code pode alcançar seu endpoint de API; veja Erros de rede e conexão
Erro de API ao verificar o modelo escolhido
Você escolheu um modelo com/model <name>, ou um aplicativo conectado à sessão solicitou a mudança. A API recusou a requisição mínima que Claude Code envia para verificar o modelo, por um motivo que não tem entrada própria, como um rate limit ou um erro de servidor. A sessão mantém seu modelo atual, e a mensagem termina dizendo:
- Aja sobre a explicação do servidor; para um rate limit ou um status 5xx, aguarde e escolha o modelo novamente
- As recusas com sua própria redação são cobertas pelas entradas ao redor, como Modelo não encontrado e Modelo é restringido pelas configurações de sua organização
Claude Opus não está disponível com o plano Claude Pro
Seu plano de assinatura ativo não inclui o modelo que você selecionou.sign out and sign in again em vez de nomear os comandos.
O que fazer:
- Execute
/modele selecione um modelo que seu plano inclui - Se você atualizou seu plano recentemente e ainda vê isso, execute
/logoute depois/login. O token armazenado reflete seu plano no momento em que você se autenticou, então atualizar em claude.ai não entra em vigor em uma sessão existente até você se autenticar novamente. - Veja claude.com/pricing para quais modelos cada plano inclui
Claude Code não suporta este modelo
A API recusou a requisição com um 400 porque sua versão do Claude Code está abaixo de um mínimo necessário. Ou o modelo que você selecionou requer uma versão mais nova, que o servidor verifica por modelo, ou a política de sua organização requer uma. O 400 carrega o código de erroclaude_code_version_too_old, e a mensagem diz qual mínimo se aplica.
- Se você executar
claude updateno canal de lançamento estável, ele não o leva além da versão estável mais recente, que ainda pode estar abaixo do mínimo necessário. Mude para o canal latest e atualize novamente. Se sua organização fixa seu canal ou versão através de configurações gerenciadas, peça ao seu administrador para alterá-lo - Para a redação por modelo, você pode continuar trabalhando na sessão atual mudando para outro modelo: execute
/modelna CLI, chamesetModel()no objetoQuerydo SDK TypeScript em modo de entrada de streaming, ou chameset_model()noClaudeSDKClientdo SDK Python - Para a redação da política organizacional, atualize antes de continuar
Modelo é restringido pelas configurações de sua organização
Seu administrador de organização desabilitou este modelo no console de administração claude.ai, ou configurações gerenciadas o excluem através de uma allowlistavailableModels ou uma lista deniedModels. O aviso aparece na inicialização quando --model, ANTHROPIC_MODEL ou a configuração model nomeou o modelo restringido, e nomeia o modelo que a sessão usa. Se as configurações gerenciadas não deixarem nenhum modelo permitido para a sessão usar, veja Configurações gerenciadas bloqueiam o modelo padrão. O aviso de substituição também pode aparecer no meio da sessão após um administrador desabilitar o modelo em que uma sessão está executando no console de administração claude.ai.
/model <name> para um modelo restringido é rejeitado e a sessão mantém seu modelo atual. Para um modelo desabilitado no console de administração, a rejeição lê Model '<name>' is restricted by your organization's settings. Run /model to choose a different model. Para um modelo que as configurações gerenciadas excluem, lê Model '<name>' is not available. Your organization restricts model selection.
Um aviso prefixado com um nome de agente, skill ou comando significa que a restrição se aplicou ao modelo solicitado do subagente: o subagente executa no modelo substituído e o modelo de sua sessão não muda. Antes da v2.1.223, Claude Code mostrava o aviso apenas para subagentes lançados com a ferramenta Agent.
Claude Code trata um alias de família de modelo, um de opus, sonnet, haiku ou fable, como uma solicitação para essa família em vez de sua versão mais nova. Na API Anthropic e em Claude Platform on AWS, um alias de família restringido resolve para a versão mais nova da família que as configurações de sua organização permitem, e o aviso de substituição nomeia essa versão. Claude Code rejeita /model <alias> apenas quando cada versão da família é restringida. Antes da v2.1.205, um alias de família era substituído ou rejeitado com base apenas em sua versão mais nova, mesmo quando uma versão mais antiga da mesma família era permitida.
O que fazer:
- Execute
/modelpara escolher entre os modelos que sua organização permite. Modelos restringidos estão ocultos do seletor. - Se o modelo restringido foi definido em
--model,ANTHROPIC_MODEL, o campomodelde um arquivo de configurações ou o frontmattermodelde um subagente, skill ou comando, remova ou atualize esse valor para que o aviso não recorra - Se você precisar de acesso ao modelo restringido, peça ao administrador de sua organização para habilitá-lo. Veja Restrições de modelo da organização.
Não foi possível mudar para o modelo padrão
Você escolheu o modelo Padrão, por exemplo selecionando a linha Padrão no seletor/model ou digitando /model default. Claude Code recusou a mudança, então a sessão mantém seu modelo atual.
your organization's managed settings block it ... in "deniedModels": uma lista de negação gerenciada bloqueia o modelo para o qual a opção Padrão resolveyour organization allows only the models listed in "availableModels": uma allowlistavailableModelsgerenciada comavailableModelsMatchdefinida como"exact"deixa de fora o modelo para o qual a opção Padrão resolveClaude Code couldn't read your organization's managed settings to check which models they allow: as configurações gerenciadas não puderam ser lidas, e Claude Code recusa a mudança em vez de aplicá-la sem verificação
- Para as redações
deniedModelseavailableModels, execute/modele escolha um modelo que sua organização permite por nome - Peça ao seu administrador para atualizar a configuração gerenciada que a mensagem nomeia
- Para a redação
couldn't read, reinicie Claude Code; se continuar acontecendo, peça ao seu administrador para verificar as configurações gerenciadas
Claude Code can't start sob essas configurações gerenciadas, veja Configurações gerenciadas bloqueiam o modelo padrão.
A mudança de modelo foi bloqueada por um hook PreModelSwitch
Um hook PreModelSwitch não aprovou a mudança de modelo que você ou um cliente solicitou, então a sessão mantém seu modelo atual. Quando a mudança veio de um host Agent SDK ou Remote Control em vez de um comando que você digitou, a mensagem lêModel switch blocked by a PreModelSwitch hook sem nomear o modelo de destino.
- Uma razão que um hook escreveu: um hook PreModelSwitch forneceu essa razão quando negou a mudança ou pediu confirmação. Aborde o que ele pede, ou escolha um modelo que seus hooks permitem.
PreModelSwitch hook <name> did not respond before its timeout: um hook que não responde antes de seu timeout bloqueia a mudança. Corrija o comando pendurado ou aumente otimeoutdesse hook, depois mude novamente.confirmation required, and this session cannot ask: um hook respondeuasksem uma razão, e uma requisição de controle não tem forma de mostrar o prompt de confirmação. Um comando/modelem uma execução-prelata a mesma condição com(run /model interactively to confirm)após a razão. Faça a mudança de uma sessão interativa, ou mude a decisão do hook para este modelo.so organization-managed PreModelSwitch hooks could not be checked: Claude Code não conseguiu dizer quais hooks PreModelSwitch seus plugins gerenciados da organização entregam, por exemplo porque um plugin gerenciado falhou ao carregar. Um desses hooks pode bloquear a mudança, então Claude Code recusa em vez de aplicar a mudança sem verificação. O início da razão nomeia o que falhou. Claude Code re-verifica a cada tentativa de mudança, então uma falha que desde então foi limpa para de bloquear; se continuar falhando, executeclaude --debuge mude novamente para capturar os detalhes, depois corrija o plugin ou peça ao seu administrador para corrigi-lo.a PreModelSwitch hook failed before answeringouPreModelSwitch hooks were cancelled (the control stream closed) before answering: a execução do hook terminou sem um veredicto, e Claude Code não trata isso como aprovação. Executeclaude --debugpara ver o que falhou, depois mude novamente.
plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log. Claude Code tentou novamente o carregamento do plugin uma vez e depois recusou mudanças posteriores na sessão, mesmo quando sua organização não gerenciava plugins. Reinicie a sessão para executar o carregamento do plugin novamente nessas versões.
Não foi possível salvá-lo como seu padrão
Você escolheu um modelo para salvar como seu padrão, por exemplo com/model <name> ou Enter no seletor /model, e Claude Code não conseguiu escrever a escolha em seu arquivo de configurações de usuário, ~/.claude/settings.json. A mudança em si foi aplicada, então a sessão atual executa no modelo que você escolheu, mas seu padrão não muda e a próxima sessão começa no valor antigo.
can't be written (<code>): a escrita falhou com o código de erro do sistema operacional entre parênteses, comoEROFSquando o arquivo, ou o arquivo para o qual ele aponta, fica em um sistema de arquivos que recusa escritas. Torne o arquivo gravável e mude novamente. Se outra ferramenta gera o arquivo, defina a chavemodelnessa ferramenta; veja Uma mudança que você fez no Claude Code é perdida em novas sessões.isn't valid JSON: o arquivo no disco não analisa, e Claude Code o deixa intocado em vez de sobrescrever conteúdo que não consegue ler de volta. Corrija o erro de sintaxe, depois mude novamente; veja Corrija um arquivo de configurações quebrado.
couldn't confirm it was saved as your default (~/.claude/settings.json is still being written) significa que a escrita não havia terminado após três segundos. Continua em segundo plano, então o padrão ainda pode ser salvo; verifique qual modelo sua próxima sessão começa, ou execute /model <name> novamente.
Antes da v2.1.265, o aviso dizia que o modelo era saved as your default for new sessions mesmo quando a escrita falhava.
Advisor é menos capaz que o modelo principal atual
Seu modelo advisor tem classificação inferior ao modelo principal da sua sessão, então Claude Code mantém a seleção, mas não anexa o advisor às requisições do modelo principal.- Em uma sessão interativa, uma notificação lê
Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor. - Na inicialização com a flag
--advisor, um aviso lê"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.e a sessão inicia mesmo assim.
- Escolha um advisor de classificação mais alta ou um modelo principal de classificação mais baixa. Escolha um modelo advisor mostra a classificação e lista os advisors aceitos para cada modelo principal.
- Mantenha o advisor definido se quiser que subagentes cujo modelo ele pode aconselhar continuem a usá-lo
thinking.type.enabled não é suportado para este modelo
Sua versão do Claude Code é mais antiga que o mínimo para o modelo selecionado. A CLI enviou uma configuração de pensamento que o modelo não aceita mais.- Execute
claude updatee reinicie Claude Code. Opus 4.7 precisa de v2.1.111 ou posterior. Opus 4.8 precisa de v2.1.154 ou posterior. Sonnet 5 precisa de v2.1.197 ou posterior. Opus 5 precisa de v2.1.219 ou posterior. Opus 5.5 precisa de v2.1.280 ou posterior. Sonnet 5.5 precisa de v2.1.284 ou posterior - No canal de lançamento estável, atualizar não o leva além da versão estável mais recente, que ainda pode ser mais antiga que essas versões. Mude para o canal latest e depois atualize
- Se você não conseguir atualizar, execute
/modele selecione Opus 4.6 ou Sonnet 4.6 - Se você atingir isso no Agent SDK, atualize o pacote SDK. Opus 4.8 precisa do SDK TypeScript v0.3.154 ou posterior e SDK Python v0.2.88 ou posterior. Sonnet 5 precisa do SDK TypeScript v0.3.197 ou posterior. Opus 5 precisa do SDK TypeScript v0.3.219 ou posterior. Opus 5.5 precisa do SDK TypeScript v0.3.280 ou posterior. Sonnet 5.5 precisa do SDK TypeScript v0.3.284 ou posterior
Esforço não está disponível com pensamento desativado
Você desativou pensamento estendido e executou em um nível de esforço acima dehigh. O modelo não aceita essa combinação, então a API rejeitou a requisição.
· varia por sessão: em uma sessão não interativa lê use --effort high (or the effortLevel setting), e em uma sessão que o aplicativo Claude Desktop executa lê you can lower effort to High.
O que fazer:
- Abaixe o nível de esforço para
highou abaixo. - Ative o pensamento novamente, por exemplo desativando
MAX_THINKING_TOKENSou removendo"alwaysThinkingEnabled": falsede suas configurações.
API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking. Antes da v2.1.251, Claude Code enviava a requisição no nível de esforço que você definiu, então Opus 5 rejeitava cada requisição acima de high com pensamento desativado. Claude Code agora envia esforço high em vez disso para modelos que ele sabe rejeitam a combinação, como Opus 5.
Orçamento de pensamento excede o limite de saída
O orçamento de pensamento estendido configurado excede o comprimento máximo de resposta, então não há espaço deixado para a resposta real.- Aumente
CLAUDE_CODE_MAX_OUTPUT_TOKENSacima do orçamento de pensamento - Veja Pensamento estendido para como o orçamento interage com o comprimento de saída
Incompatibilidade de bloco de uso de ferramenta ou pensamento
O histórico de conversa chegou à API em um estado inconsistente.tool_use, tool_result e thinking no histórico não corresponde mais ao que a API espera.
O que fazer:
- Se você está usando Opus 4.7 ou Opus 4.8, execute
claude updateprimeiro. Versões anteriores a v2.1.156 podem acionar esse erro durante o uso normal de ferramentas, e/rewindnão o limpa. - Execute
/rewind, ou pressione Esc duas vezes, para voltar a um checkpoint antes do turno corrompido e continuar de lá. Veja Checkpointing para como checkpoints são criados e restaurados.
Dados inválidos no bloco redacted_thinking
A API recusou a requisição com um 400 porque não conseguiu aceitar um blocoredacted_thinking que um turno anterior no histórico de conversa carrega.
- Se você está na v2.1.281 ou anterior e cada turno falha com esse erro, execute
claude updatee retome a sessão - Se o erro persistir, execute
/clearpara iniciar uma conversa que não carrega o bloco
Conteúdo de ferramenta não suportado removido
Quando Claude Code se conecta diretamente à API Anthropic e carrega ou visualiza uma sessão salva, ele remove conteúdo de ferramenta que a API Anthropic não aceita e deixa esta linha onde o conteúdo removido estava entre dois blocos de pensamento:ANTHROPIC_BASE_URL que traduz chamadas de ferramenta de outro provedor. Claude Code o remove apenas quando a sessão se conecta diretamente à API Anthropic, e carrega o histórico salvo como está quando a sessão executa através de um proxy ou em outro provedor. Antes da v2.1.246, Claude Code enviava o uso de ferramenta e seu resultado de volta para a API, e cada turno da sessão retomada falhava com um erro 400 como messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ....
O que fazer:
- Nenhuma ação necessária quando você vê a linha de espaço reservado. A sessão continua sem o conteúdo removido.
- Se cada turno de uma sessão retomada falha com o erro 400, execute
claude updatee retome a sessão novamente. Versões anteriores a v2.1.246 não removem o conteúdo.
role ‘system’ deve preceder uma mensagem ‘assistant’
A API recusou a requisição com um 400 porque uma mensagem de sistema fica em uma posição na conversa que ela não aceita:use the top-level 'system' parameter for the initial system prompt, obtêm a mesma recuperação.
Quando o erro aparece, a mensagem de sistema recusada não é uma que Claude Code possa remover. Isso geralmente significa que um proxy ou gateway de LLM entre Claude Code e a API adicionou uma mensagem de sistema própria.
O que fazer:
- Se o erro se repete a cada turno atrás de um proxy ou gateway configurado através de
ANTHROPIC_BASE_URL, conecte sem o proxy para confirmar a fonte e relate o erro a quem o opera - Execute
/clearpara iniciar uma conversa nova. Se o erro retornar lá também, a causa está no caminho da requisição, não na conversa salva.
Conteúdo criptografado inválido no bloco search_result
A API recusou a requisição com um 400 porque o histórico de conversa contém conteúdo de busca na web hospedado que não consegue descriptografar. A redação nomeia o campo que não consegue ler:encrypted_stdout nomeia a saída de um programa de execução de código hospedado que leu tais resultados, que a API também criptografa. A API recusa uma requisição que reproduz conteúdo que não consegue descriptografar, como conteúdo produzido para uma organização diferente.
A própria ferramenta WebSearch do Claude Code registra resultados de busca como texto simples, então esses blocos geralmente chegam a uma conversa através de um proxy ou gateway de LLM que executou busca na web hospedada.
Para as três redações de busca na web, Claude Code deixa as chamadas de busca, resultados e citações fora do que envia e tenta novamente a requisição uma vez, então a sessão continua sem mostrar o erro. A redação encrypted_stdout não tem tal recuperação, então essa mensagem ainda chega a você. Antes da v2.1.282, Claude Code mantinha os blocos de busca na web recusados também, e cada turno posterior e /compact falhava da mesma forma.
O que fazer:
- Se você está na v2.1.281 ou anterior e cada turno falha com uma das redações de busca na web, execute
claude updatee retome a sessão - Se o erro persistir, ou a mensagem nomear
encrypted_stdout, execute/rewindpara voltar a um checkpoint antes do turno que adicionou o conteúdo, ou execute/clearpara iniciar uma conversa que não o carrega - Se você executa Claude Code atrás de um proxy ou gateway, relate o erro a quem o opera
Recusa de Política de Uso
A API recusou responder porque conteúdo na conversa acionou uma verificação de Política de Uso. Se a mensagem incluir a linhaDetails: `[reasoning_extraction]`, veja As proteções sinalizaram uma requisição pelo raciocínio do Claude.
A mensagem inclui um ID de Requisição e um ID de Mensagem que você pode citar para suporte se acreditar que a recusa está incorreta.
Claude quando nenhum modelo é registrado.
A verificação avalia a conversa completa, não apenas seu prompt mais recente, então enviar uma nova mensagem na mesma sessão geralmente re-aciona a mesma recusa. O mesmo se aplica após sair e reabrir a sessão com --continue ou --resume, já que a transcrição no disco ainda contém o conteúdo que aciona. Em Amazon Bedrock, Google Cloud’s Agent Platform e Microsoft Foundry, essa mensagem também cobre requisições que as medidas de segurança do modelo sinalizaram como um tópico de cibersegurança. Veja Medidas de segurança sinalizaram um tópico de cibersegurança.
Antes da v2.1.219, a mensagem lia Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.
O que fazer:
- Pressione Esc duas vezes ou execute
/rewindpara voltar a um checkpoint antes do turno que acionou a recusa, depois reformule ou tome uma abordagem diferente. Veja Checkpointing. - Se você não conseguir identificar qual turno causou, execute
/clearpara iniciar uma conversa nova no mesmo projeto. Sua conversa anterior é preservada no disco e permanece disponível em/resume. - Em modo não interativo (
-p), onde rewind não está disponível, tente novamente com um prompt reformulado em uma nova sessão sem--continue. As verificações de política variam por modelo, então mudar para um modelo diferente com--modeltambém pode resolver a recusa em alguns casos.
Medidas de segurança sinalizaram um tópico de cibersegurança
As medidas de segurança do modelo sinalizaram conteúdo na conversa como um tópico de cibersegurança. A mensagem nomeia o modelo que sinalizou a requisição:Details: `[reasoning_extraction]`, veja As proteções sinalizaram uma requisição pelo raciocínio do Claude.
Esta mensagem vincula ao Programa de Verificação Cibernética, que concede acesso para trabalho de cibersegurança legítimo. Modelos com fallback automático de modelo exibem uma mensagem diferente, sem esse link; em Opus 5.5 e Sonnet 5.5, ela abre com <model>'s safeguards flagged this session. Essa seção também explica quando Claude Code muda de modelo em vez disso.
Em Amazon Bedrock, Google Cloud’s Agent Platform e Microsoft Foundry, uma sinalização de cibersegurança produz a mensagem de recusa de Política de Uso em vez disso.
A proteção em si é do lado do servidor e antecede v2.1.203; lançamentos de cliente desde então mudaram apenas a redação da mensagem.
De v2.1.203 até v2.1.218, a mensagem lia <model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center: seguida pelo mesmo link do centro de ajuda, e sessões interativas acrescentavam If you were not engaging in a cybersecurity topic, please send feedback via /feedback.
Antes da v2.1.203, lia <model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption: seguida por um link de formulário de isenção.
O que fazer:
- Se seu trabalho requer este conteúdo, solicite acesso através do Programa de Verificação Cibernética
- Se sua requisição não era sobre um tópico de cibersegurança, execute
/feedbackpara relatar o falso positivo - Para continuar trabalhando na mesma sessão, pressione Esc duas vezes ou execute
/rewindpara voltar a um checkpoint antes do turno que acionou a sinalização, depois tome uma abordagem diferente. Veja Checkpointing.
As proteções sinalizaram uma requisição pelo raciocínio do Claude
A API recusou a requisição porque as proteções a sinalizaram como pedindo ao modelo que reproduzisse seu raciocínio interno na resposta. A API chama essa categoria de recusa dereasoning_extraction, e a mensagem de recusa inclui esta linha:
Details.
O que fazer:
- Remova ou reformule qualquer instrução que peça a Claude para escrever seu pensamento ou raciocínio literalmente ou em um formato fixo, como uma seção
<thinking>, uma seção de rascunho ou um camporeasoningem saída JSON. A instrução pode estar em seu prompt ou em uma personalização que Claude Code carrega com ele, como CLAUDE.md, uma skill, um prompt de subagente, um estilo de saída ou a descrição de uma ferramenta MCP. - Para verificar se uma personalização é o gatilho, execute
claude --safe-modeem seu terminal para iniciar uma sessão com as personalizações desativadas e, em seguida, envie o mesmo prompt - Depois de alterar uma personalização, inicie uma nova sessão
- Para reformular um prompt que você já enviou, veja Rewind and summarize
- Você ainda pode pedir a Claude que explique sua resposta. Peça uma explicação curta, as evidências por trás de um resultado ou um resumo das ações que ele realizou. Para ler resumos do pensamento do Claude, veja
showThinkingSummaries. - Para mais exemplos, e o que fazer se uma requisição reformulada ainda for recusada, veja Keep reasoning in thinking blocks
Output blocked by content filtering policy
O filtro de conteúdo de saída da API interrompeu a resposta que Claude estava gerando. O texto da mensagem vem da API:- Reformule sua última mensagem ou tome uma abordagem diferente
- Para voltar a um checkpoint antes do turno que acionou o bloqueio, pressione Esc duas vezes ou execute
/rewind. Veja Checkpointing
Erros de linha de comando
Esses erros vêm da linha de comandoclaude e de seus subcomandos, de um nome de comando que você envia no prompt e de comandos como /security-review, que coletam contexto executando comandos de shell antes de o prompt ser executado. Eles também vêm de /tui, que reinicia a CLI.
Conflito entre --bg e --print
Esta mensagem requer o Claude Code v2.1.198 ou posterior. Você combinou --bg com -p ou --print na mesma invocação de claude. --bg inicia uma sessão em segundo plano à qual você se conecta depois com claude agents, enquanto --print é executado de forma não interativa e nunca inicia a sessão interativa à qual claude agents se conecta. Antes da v2.1.198, essa combinação criava silenciosamente um job em segundo plano ao qual nunca era possível se conectar.
- Remova
-pou--print.--bgrecebe o prompt como seu argumento posicional, entãoclaude --bg "<task>"é o comando completo. Consulte Dispatch de novos agentes a partir do seu shell. - Para executar o prompt de forma não interativa e imprimir o resultado em vez de criar uma sessão em segundo plano, remova
--bge executeclaude -p "<task>"
Conflito entre uma flag de system prompt e sua forma de arquivo
Você passou--append-subagent-system-prompt junto com --append-subagent-system-prompt-file em uma única invocação de claude, então claude sai com código 1 em vez de iniciar a sessão:
claude saía da mesma forma quando você passava --system-prompt com --system-prompt-file, ou --append-system-prompt com --append-system-prompt-file, porque esses pares entravam em conflito em vez de se combinarem. Nessas versões, a mensagem nomeia o par que você combinou.
O que fazer:
- Mantenha uma forma da flag e remova a outra. Para combinar um arquivo de prompt fixo com texto específico de cada execução, mescle o texto no arquivo antes de iniciar, em vez de passar as duas flags
Configuração --agents inválida
O valor que você passou para --agents é inválido, então claude sai com código 1 em vez de iniciar a sessão. Quando você passa --safe-mode ou define CLAUDE_CODE_SAFE_MODE, o Claude Code ignora --agents completamente. Com --resume ou --continue, um valor JSON inline não é verificado e a sessão é iniciada; um valor lido de um arquivo é verificado em cada inicialização. Antes da v2.1.242, o Claude Code iniciava a sessão mesmo assim.
- Quando o valor começa com
{mas não é analisado como JSON, ou o conteúdo de um arquivo--agentsnão é analisado, o Claude Code imprime uma linhainvalid JSON:contendo a própria mensagem do analisador JSON - Quando é analisado, mas uma definição de agente não corresponde ao esquema para subagentes definidos pela CLI, o Claude Code imprime uma linha por problema
- Quando o nome de um agente começa com
-, o Claude Code imprime<name>: agent names must not start with '-'
…and N more.
Com --print, --agents também aceita o caminho para um arquivo JSON no lugar do objeto inline. Antes da v2.1.281, --agents aceitava apenas JSON inline e tratava um caminho de arquivo como JSON inválido. A forma de arquivo tem suas próprias recusas, impressas no lugar desta mensagem, incluindo estas:
Error: --agents takes a JSON object, or a file path only with --print (-p): o Claude Code leu o valor como um caminho de arquivo em uma sessão interativa. Passe as definições como JSON inline, ou adicione-ppara lê-las de um arquivo.Error: --agents file not found: <path>: não existe nenhum arquivo nesse caminho. Um valor que não começa com{e não é JSON válido é lido como um caminho, então um JSON inline que seu shell corrompeu também pode falhar dessa forma. Verifique o caminho ou as aspas e execute o comando novamente.
- Corrija cada problema que a mensagem lista e execute o comando novamente. Consulte os campos que um subagente definido pela CLI aceita.
Sessões na nuvem não podem ser criadas a partir de uma sessão --restricted
Quando você inicia uma sessão com --restricted, o Claude Code se recusa a criar sessões na nuvem a partir dela, porque a nova sessão seria executada fora do processo restrito e não aplicaria o modo restrito. O Claude Code recusa no cliente, antes de contatar o servidor, então nenhuma sessão na nuvem é criada:
- Execute a tarefa localmente na sessão restrita
- Se você controla como a sessão foi iniciada, inicie uma nova sessão
claudesem--restrictede crie a sessão na nuvem a partir dela
--restricted; versões anteriores rejeitam a própria flag com um erro de opção desconhecida.
Sessões na nuvem estão desativadas pela política da sua organização
A políticaallow_remote_sessions da sua organização está desativada, então as sessões na nuvem e os comandos que as usam não estão disponíveis:
/teleport, /remote-env ou /web-setup. Antes da v2.1.268, enviar um desses comandos retornava Unknown command.
Se a mensagem, em vez disso, nomear uma credencial que esta sessão está usando e terminar com Cloud sessions use your claude.ai login., consulte Cloud sessions use your claude.ai login. Se o Claude Code não conseguiu carregar a política da sua organização de forma alguma, você verá uma mensagem diferente.
O que fazer:
- Peça a um Owner da sua organização para ativar sessões na nuvem nas configurações de administrador do Claude Code em claude.ai/admin-settings/claude-code
Cloud sessions use your claude.ai login
Quando a negação por política nomeia uma credencial que esta sessão está usando e termina com esta frase, o Claude Code verificou a política de sessões na nuvem da organização que emitiu essa credencial. Essa organização pode ser diferente daquela à qual seu login do claude.ai pertence:--cloud ou --teleport. Antes da v2.1.296, o Claude Code também imprimia nesse caso a forma que instrui você a contatar o administrador da sua organização.
Couldn’t verify your organization’s policy for cloud sessions
Essas mensagens significam que o Claude Code não conseguiu carregar a política da sua organização, que ele verifica antes de criar, retomar ou enviar mensagens para uma sessão na nuvem. Enquanto a requisição da política não terminou, a mensagem é:/teleport ou /web-setup, também exibe esta mensagem. Ele faz isso mesmo onde seu shell imprimiria uma forma Cloud sessions aren't available:, e sua segunda frase diz Check your network connection, then restart Claude Code and try again.
Depois que a requisição da política falha, a mensagem diz o que falhou. Isso se aplica quando você inicia, retoma ou envia uma mensagem para uma sessão na nuvem a partir do seu shell com uma flag como --cloud ou --teleport. Sem rota até a API, ela diz:
ANTHROPIC_API_KEY, a mensagem também pode nomeá-la e dizer para removê-la:
Couldn't verify.
O que fazer:
- Para a mensagem
Couldn't verify, verifique sua conexão de rede e tente novamente. Dentro de uma sessão, reinicie o Claude Code primeiro - Para uma mensagem
Cloud sessions aren't available:, faça o que sua causa exige, como verificar seu proxy ou remover a credencial que ela nomeia, e execute o comando novamente
Nada foi guardado no stash porque uma pasta substituiu um arquivo rastreado
Esta mensagem significa que uma pasta no seu checkout agora está onde antes havia um arquivo ou link rastreado pelo git. Ela aparece depois que você escolhe a opção de stash ao trazer uma sessão na nuvem para o seu terminal, por exemplo comclaude --teleport ou /teleport. Fazer stash desse estado poderia excluir os arquivos dentro da pasta, então o Claude Code recusa o stash e deixa seu checkout e seu índice inalterados:
- Faça commit da alteração ou mova a pasta para outro lugar, como a mensagem diz, e execute o teleport novamente
O valor de --json-schema não é um JSON Schema válido
O esquema que você passou para --json-schema no modo não interativo falhou na compilação do JSON Schema, então claude sai com código 1 em vez de executar o prompt. Antes da v2.1.205, um esquema inválido produzia uma saída não estruturada sem erro, e qualquer esquema que usasse a palavra-chave format era tratado como inválido.
format, como "format": "email", são válidos: o Claude Code aceita format como uma anotação e não o aplica.
O Claude Code executa duas verificações antes da compilação do esquema: rejeita um valor que não é JSON analisável com Error: --json-schema is not valid JSON, e um JSON válido que não é um objeto com Error: --json-schema must be a JSON object.
O que fazer:
- Corrija a parte do esquema que o diagnóstico nomeia e execute o comando novamente
- Consulte Obter saída estruturada para ver um esquema e um comando que funcionam
O arquivo de configurações excede o limite de 2MiB
O arquivo que você passou para--settings é maior que 2 MiB, então claude sai com código 1 na inicialização em vez de carregá-lo. Antes da v2.1.214, o Claude Code lia o arquivo sem verificar o tamanho, e um arquivo de vários gigabytes ou um arquivo de dispositivo como /dev/zero fazia a memória crescer sem limite.
--settings que não seja um arquivo regular: um dispositivo, FIFO ou socket relata Error: Cannot use settings file (Not a regular file (device, FIFO, or socket)) seguido do caminho, e um diretório relata um motivo EISDIR.
O que fazer:
- Aponte
--settingspara um arquivo de configurações JSON regular com menos de 2 MiB. Consulte Configurações para ver o formato.
O diretório atual não existe mais
Você iniciouclaude a partir de um diretório que foi excluído ou movido depois que seu shell entrou nele, por exemplo um worktree ou um diretório temporário que outro shell removeu. O Claude Code não consegue ler seu diretório de trabalho, então sai com código 1 antes de iniciar a sessão, tanto no modo interativo quanto no não interativo. Antes da v2.1.239, o Claude Code travava com o código-fonte do bundle minificado e uma stack ENOENT ... uv_cwd bruta no stderr em vez desta mensagem.
Can't read the current directory (EACCES). Start Claude Code from a different directory.
No macOS, EPERM para um diretório em ~/Desktop, ~/Documents, ~/Downloads ou no iCloud Drive geralmente significa que o macOS está bloqueando o acesso do seu aplicativo de terminal a essa pasta. Outros comandos que leem essa pasta falham da mesma forma: ls nela relata Operation not permitted, mesmo com sudo.
O que fazer:
- Mude para um diretório que exista, como seu diretório pessoal ou o diretório do projeto, e execute
claudenovamente - Se o diretório foi recriado no mesmo caminho, seu shell ainda mantém o diretório excluído. Execute
cd "$PWD"ou saia e entre novamente no diretório, e então executeclaudenovamente - Para
EPERMno macOS, feche seu aplicativo de terminal com Cmd+Q, abra-o novamente, volte para essa pasta e executeclaude. Selsnessa pasta ainda falhar, abra Ajustes do Sistema > Privacidade e Segurança > Arquivos e Pastas, ative a pasta para seu aplicativo de terminal e reabra o terminal
Diretório temporário recusado ou não pode ser criado
No macOS e no Linux, o Claude Code cria um diretório temporário privado na inicialização,claude-<uid>, sob o diretório temporário do sistema ou o valor que o sobrescreve em CLAUDE_CODE_TMPDIR. Quando o diretório não pode ser criado, ou uma entrada já existente nesse caminho falha nas verificações de segurança, o Claude Code imprime a falha no stderr e sai com código 1 em vez de iniciar a sessão:
- Para
ENOSPC, libere espaço em disco no volume que contém o diretório temporário - Para as formas
Refusing to use it, remova a própria entrada nomeada, não aquilo para o qual um link aponta, e inicie o Claude Code novamente; para a formaowned by uid, somente um administrador ou esse usuário pode removê-la - Para
is not readable, executechmod 0700no diretório nomeado, ou remova-o e inicie novamente - Em qualquer um desses casos, defina
CLAUDE_CODE_TMPDIRcomo um diretório que você controla e inicie o Claude Code novamente, deixando o caminho recusado como está
O diretório não pôde ser resolvido para um local real
Você executou/add-dir para um subdiretório do seu diretório de trabalho, e o Claude Code não conseguiu resolver o diretório para seu local real.
Você já tem acesso a arquivos em um subdiretório do diretório de trabalho, então /add-dir apenas carrega suas skills, comandos e agentes. Antes de carregá-los, o Claude Code verifica se o local real do diretório, com todos os links simbólicos resolvidos, está dentro do diretório de trabalho. Quando o Claude Code não consegue resolver esse local, ele não carrega nada e mostra esta mensagem:
- Verifique se o caminho nomeia um diretório real dentro do diretório de trabalho e execute
/add-dirnovamente - A mensagem não altera seu acesso a arquivos; ela apenas informa que o conteúdo
.claude/do diretório não foi carregado
/add-dir <subdirectory> quando o diretório de trabalho estava em um automount /net/<host>, onde o Claude Code, por design, não resolve caminhos; o diretório estava correto e tentar novamente não ajudava.
Workspace não confiável ao iniciar o Remote Control
Você iniciou o modo servidor do Remote Control comclaude remote-control ou seu alias claude rc em um diretório no qual você não confiou, e o comando não pôde perguntar se você confia nele. Por exemplo, a entrada padrão ou a saída padrão do comando não é um terminal porque uma delas está redirecionada ou conectada a um pipe. O comando sai com código 1:
Error: Workspace not trusted. aparecem em um terminal pequeno demais para mostrar o que confiar no diretório ativa, ou em um que não informou seu tamanho. Aumente a janela ou mude para uma janela de terminal normal e execute claude rc novamente.
No seu diretório pessoal a mensagem é diferente, porque a caixa de diálogo de confiança do workspace nunca salva a confiança para o diretório pessoal, então aceitá-la ali não pode satisfazer essa verificação. Antes da v2.1.214, o diretório pessoal mostrava a mensagem acima, cujo conselho não pode funcionar ali.
n ou pressionar Enter na pergunta Trust <directory>?, o comando imprime uma mensagem Remote Control did not start que nomeia o diretório e sai com código 1. Execute claude rc novamente para responder y.
O que fazer:
- Confie no diretório a partir de um terminal primeiro: execute
claude rcnele e responday, ou executeclaudenele e aceite a caixa de diálogo de confiança do workspace, e então execute seu comando original novamente - No seu diretório pessoal, mude para um diretório de projeto e inicie o Remote Control ali
Não repassado para as sessões que o Remote Control inicia
Você iniciou o Remote Control com uma flag global declaude antes do verbo remote-control, uma que restringiria ou configuraria as sessões que o Remote Control inicia, como --settings, --setting-sources, --permission-mode, --disallowed-tools ou --mcp-config. Uma flag colocada antes do verbo nunca chega a essas sessões. Em vez disso, o Claude Code se recusa a iniciar, nomeando a flag:
--verbose, --model ou um --session-id ou --plugin-dir injetado por um wrapper: ele as ignora e o Remote Control inicia.
O Claude Code também se recusa a iniciar para uma flag global que ainda não reconhece como inofensiva, então uma flag adicionada em uma versão mais recente pode aparecer nesta mensagem até que uma versão posterior a marque como inofensiva.
O que fazer:
- Remova a flag de antes do verbo e passe as próprias opções do Remote Control depois dele;
claude remote-control --helpas lista - Quando a flag recusada for
--permission-mode, executeclaude remote-control --permission-mode <mode>para definir o modo de permissão das sessões que o Remote Control inicia
claude remote-control não aceitava suas próprias flags quando uma flag global vinha primeiro, e o comando falhava com um erro unknown option.
claude import ainda não está disponível neste build
Você executouclaude import, e o Claude Code encontrou o fluxo de importação desativado, então o comando sai com código 1 em vez de iniciar a importação. Antes da v2.1.222, um build com o fluxo de importação desativado tratava import como um prompt e iniciava uma sessão interativa em vez de imprimir esta mensagem.
claude import por meio de uma feature flag que ele busca da Anthropic e armazena em cache no disco. Esta mensagem significa que o valor em cache está desativado. A causa geralmente é uma das seguintes:
- Você não iniciou uma sessão desde a instalação, então o Claude Code ainda não buscou a flag. O primeiro
claude importpode imprimir isso mesmo quando o recurso está disponível para você. - Você usa o Claude Code por meio do Amazon Bedrock, do Agent Platform do Google Cloud, do Microsoft Foundry ou do Claude Platform on AWS, ou por meio de um gateway de aplicativos Claude. O Claude Code não busca feature flags nessas sessões, então
claude importpermanece indisponível. - Você definiu
DISABLE_TELEMETRY,DO_NOT_TRACK,DISABLE_GROWTHBOOKouCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, que desativam a busca de feature flags, entãoclaude importpermanece indisponível.
- Em uma instalação nova, inicie
claude, aguarde a sessão carregar, saia e executeclaude importnovamente - Onde a busca de feature flags permanece desativada, faça a configuração você mesmo: adicione servidores MCP com
claude mcp adde crie os arquivosCLAUDE.md, as skills e comandos e os subagentes que você deseja transferir. A mensagem também nomeia~/.claude/settings.json. Da configuração queclaude importtransfere, esse arquivo contém apenas o modo de permissão; o Claude Code não lê servidores MCP dele.
Não foi possível ler a configuração do Claude Code
Você executouclaude import enquanto o Claude Code não conseguia analisar ~/.claude.json, o arquivo onde ele armazena seu login e o estado por projeto. O subcomando lê esse arquivo para verificar a disponibilidade, mas não mostra a caixa de diálogo de recuperação que a sessão interativa mostra, então sai com código 1. Antes da v2.1.222, claude import com um arquivo de configuração ilegível iniciava uma sessão interativa, cuja caixa de diálogo de recuperação tratava o arquivo.
- Execute
claudesem argumentos. O Claude Code detecta o arquivo inválido e oferece redefini-lo. Em seguida, executeclaude importnovamente. - Para manter edições manuais que você fez, corrija a sintaxe JSON em
~/.claude.jsonem um editor e executeclaude importnovamente
Não foi possível importar um servidor do Claude Desktop
O Claude Code não conseguiu adicionar um dos servidores que você selecionou emclaude mcp add-from-claude-desktop. O comando ainda importa os outros servidores selecionados e imprime uma linha para cada servidor que não conseguiu adicionar. Antes da v2.1.205, o primeiro servidor que falhava interrompia a importação.
claude mcp restringe a letras, números, hífens e sublinhados. Outros motivos incluem uma configuração de servidor que falha na validação e um servidor bloqueado pela política de MCP da sua organização.
O que fazer:
- Renomeie o servidor em
claude_desktop_config.jsonpara usar apenas letras, números, hífens e sublinhados e executeclaude mcp add-from-claude-desktopnovamente - Adicione esse servidor diretamente com
claude mcp addouclaude mcp add-jsoncom um nome válido. Consulte Importar servidores MCP do Claude Desktop.
Não é possível adicionar o servidor MCP ao escopo gerenciado
Você executouclaude mcp add ou claude mcp add-json com --scope managed. Esse escopo contém os servidores que sua organização fornece por meio da configuração gerenciada managedMcpServers. O Claude Code os lê apenas das configurações gerenciadas, então o comando não pode gravar um servidor nesse escopo.
- Adicione o servidor a um escopo em que você possa gravar:
local,userouproject. Sem--scope, o comando usalocal. Consulte Escopos de instalação do MCP - Para fornecer o servidor a todos os usuários da sua organização, adicione-o a
managedMcpServersnas configurações gerenciadas que você implanta
Não é possível adicionar o servidor MCP quando as configurações gerenciadas permitem apenas servidores de plugins
Você executouclaude mcp add ou claude mcp add-json enquanto as configurações gerenciadas da sua organização definem strictPluginOnlyCustomization como true ou como uma lista que inclui mcp. Com essa configuração, o Claude Code não carrega servidores MCP de ~/.claude.json ou .mcp.json, então o comando sai com código 1 em vez de salvar um servidor que nunca seria carregado:
claude mcp add-from-claude-desktop relata cada servidor que você seleciona como não importado, com esta mensagem como motivo. /import relata esta mensagem para cada servidor MCP que tenta adicionar e ainda importa os outros itens que encontrou.
Antes da v2.1.284, esses comandos salvavam o servidor e relatavam sucesso, e o servidor nunca era carregado.
O que fazer:
- Instale um plugin que forneça o servidor
- Peça ao seu administrador para distribuir o servidor em um plugin, ou para fornecê-lo por meio de
managedMcpServersse for um servidor HTTP ou SSE remoto
Não é possível ler .mcp.json
Um comando que lê o.mcp.json do projeto, como claude mcp add ou claude mcp add-json com --scope project, ou claude mcp remove, descobriu que o arquivo no seu diretório atual não é um arquivo regular ou é maior que 2 MiB, então sai com este erro em vez de ler o arquivo.
.mcp.json deixava o comando esperando para sempre sem saída, e um link simbólico para um arquivo de dispositivo como /dev/zero fazia a memória crescer até o processo ser encerrado.
O que fazer:
- Verifique o que está em
.mcp.jsonno seu diretório atual. Substitua-o por um arquivo JSON comum no formato de escopo de projeto, ou exclua-o, e então execute o comando novamente.
O servidor MCP não foi salvo ou removido
Você executouclaude mcp add, claude mcp add-json ou claude mcp remove para um servidor no escopo user ou local. Ambos os escopos são armazenados em ~/.claude.json, e a alteração não está nesse arquivo quando o Claude Code o lê de volta após a gravação. O comando sai com este erro em vez de sua linha de sucesso.
was not removed from e termina com then remove the server again. Para um servidor de escopo local, o caminho é seguido pelo diretório do projeto ao qual a entrada pertence, como (local scope for /path/to/project).
Antes da v2.1.283, claude mcp add, claude mcp add-json e claude mcp remove relatavam sucesso mesmo quando a alteração não chegava ao arquivo.
O que fazer:
- Torne gravável o arquivo que a mensagem nomeia, ou execute o comando fora do sandbox, e então execute o mesmo comando de adição ou remoção novamente.
O servidor MCP pode não ter sido salvo ou removido
Você executouclaude mcp add, claude mcp add-json ou claude mcp remove para um servidor no escopo user ou local, e o Claude Code não conseguiu ler ~/.claude.json de volta para confirmar a alteração. A alteração pode ou não estar no disco. O texto entre parênteses é o erro dessa leitura.
may not have been removed e termina com then remove the server again if it is still listed.
Antes da v2.1.283, os comandos relatavam sucesso mesmo quando a alteração não podia ser confirmada.
O que fazer:
- Execute
claude mcp get <name>para verificar se a alteração está no disco. Para um servidor de escopolocal, execute-o a partir do diretório do projeto ao qual o servidor pertence, já que o escopo local é por projeto. - Se o servidor estiver ausente após uma adição, ou ainda listado após uma remoção, execute o mesmo comando de adição ou remoção novamente.
O servidor é hospedado pela Anthropic e não oferece suporte a OAuth local
Você iniciou um login para um servidor MCP cuja URL aponta para um host de conector hospedado pela Anthropic que se autentica por meio de um provedor de identidade de terceiros. Esses hosts incluemmicrosoft365.mcp.claude.com, gmail.mcp.claude.com e gcal.mcp.claude.com. O Claude Code se recusa a iniciar seu fluxo OAuth local para esses hosts tanto no painel /mcp quanto em claude mcp login, porque o login deles funciona apenas por meio do claude.ai.
- Remova sua entrada com
claude mcp remove <name>, para que ela não possa ocultar o conector do claude.ai na mesma URL - Depois de removê-la, conecte o serviço em claude.ai/customize/connectors, com login feito na conta que você usa no Claude Code. Uma vez conectado, o conector aparece automaticamente no Claude Code se o seu método de autenticação ativo for um login de assinatura do claude.ai
O servidor rejeitou o cabeçalho Authorization gerado pelo headersHelper configurado
Um servidor MCP cujoheadersHelper fornece o cabeçalho Authorization respondeu à conexão com HTTP 401 ou 403, então o Claude Code relata a conexão como falha. Como o helper fornece o cabeçalho Authorization, o Claude Code não recorre ao OAuth para o servidor:
- Execute o comando
headersHelpervocê mesmo da maneira como o Claude Code o executa: a partir do diretório em que o Claude Code o executa, com as variáveis de ambiente que o Claude Code define para ele e sem as variáveis de credencial que o Claude Code remove para um servidor de um.mcp.jsonde projeto, de um plugin ou de um arquivo de agente de projeto. Verifique se ele imprime um valor deAuthorizationque o endpoint do servidor aceita - Depois de corrigir o helper ou sua fonte de credenciais, selecione o servidor em
/mcpe escolha Reconnect
Authorization. Essa descoberta podia falhar com Incompatible auth server: does not support dynamic client registration em vez de relatar a credencial rejeitada.
Ferramenta de prompt de permissão MCP não encontrada
A ferramenta que você passou para--permission-prompt-tool não estava entre as ferramentas MCP conectadas quando a execução precisou pela primeira vez de uma decisão de permissão, seja porque seu servidor nunca se conectou, seja porque nenhum servidor conectado expõe uma ferramenta com esse nome. O Claude Code ainda envia seu prompt: a execução não interativa sai com este erro, e código de saída 1, na primeira chamada de ferramenta, então não produz nenhuma resposta mesmo que a requisição tenha sido feita. Antes do primeiro prompt, o Claude Code aguarda até o timeout de conexão por servidor de 30 segundos, definido por MCP_TIMEOUT, para que esse servidor se conecte. Antes da v2.1.206, a inicialização não esperava o servidor terminar de se conectar, então um servidor saudável, mas lento para iniciar, também produzia este erro.
Available MCP tools: nomeia as ferramentas MCP que estavam conectadas.
O que fazer:
- Verifique se o servidor inicia e permanece conectado: execute
claude mcp listno mesmo diretório e confirme se o servidor está listado como conectado - Confirme se o nome da ferramenta corresponde ao nome
mcp__<server>__<tool>que o servidor expõe - Se o servidor precisar de mais de 30 segundos para iniciar, aumente
MCP_TIMEOUT
A porta de callback do OAuth já está em uso
Quando você faz login em um servidor MCP remoto com OAuth, o Claude Code inicia um listener local para receber o callback de login. Se a porta de que esse listener precisa estiver ocupada por outro processo, o login falha com esta mensagem. Isso acontece principalmente com uma porta de callback fixa definida por meio da variávelMCP_OAUTH_CALLBACK_PORT ou de --callback-port, já que, sem ela, o Claude Code escolhe uma porta disponível.
netstat -ano | findstr :<port>.
O que fazer:
- Execute o comando da mensagem para encontrar o processo que ocupa a porta, e encerre-o ou espere que ele termine
- Se outro programa precisar dessa porta permanentemente, registre um URI de redirecionamento diferente no servidor e defina sua porta com
MCP_OAUTH_CALLBACK_PORTou--callback-port, o que você usar - Em seguida, inicie o login novamente, por exemplo selecionando o servidor em
/mcp
Nenhuma porta disponível para o redirecionamento do OAuth
Quando você faz login em um servidor MCP remoto com OAuth, o Claude Code inicia um listener local para receber o callback de login. O login falha com esta mensagem quando o Claude Code não consegue vincular uma porta local para ele. Algo na máquina está impedindo que ele escute em127.0.0.1, por exemplo um software de segurança ou uma política de sandbox que nega listeners locais.
- Verifique se um software de segurança ou uma política de sandbox impede que processos escutem em
127.0.0.1, e permita que o Claude Code vincule uma porta local - Em seguida, inicie o login novamente, por exemplo selecionando o servidor em
/mcp
/security-review falha sem origin/HEAD
/security-review constrói seu contexto de revisão fazendo o diff do seu branch em relação a origin/HEAD, a ref local que registra qual branch é o padrão no seu remote origin. Quando essa ref não existe, os comandos git que coletam o diff falham e a revisão para antes de começar.
git log ou um git diff diferente. O Git cria origin/HEAD somente quando o remote anuncia um branch padrão e seu refspec de fetch o cobre, o que acontece com um git clone completo de um remote com commits. A ref está ausente nestas configurações:
- Um checkout de branch único ou de CI, que faz fetch de um refspec estreito demais
- Um remote cujo HEAD do lado do servidor aponta para um branch que ninguém enviou
- Um repositório sem remote
origin, ou um do qual você nunca fez fetch
Shell command permission check failed for pattern "...": a verificação de permissão do comando não o permitiu. Verificações de permissão em comandos injetados explica quais resultados abortam em cada modo de permissão e como pré-aprovar um comando comallowed-toolsSkill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found: o frontmatter da skill exige bash em uma máquina que não o tem. Instale o Git for Windows ou altere o frontmatter parashell: powershell. Consulte Como os comandos injetados são executados
- Crie a ref nomeando o branch padrão do seu remote:
git remote set-head origin <default-branch>. Isso funciona sempre que a ref de rastreamento localorigin/<default-branch>existe. Se ela não existir, como em clones de branch único, faça primeiro o fetch do branch: executegit remote set-branches --add origin <branch>, depoisgit fetch origine, em seguida, execute novamente o comando set-head. Execute/security-reviewnovamente. - Se preferir não nomear o branch, execute
git fetch origine depoisgit remote set-head origin --auto, que pergunta ao remote qual branch é o padrão. Ele falha comerror: Cannot determine remote HEADquando o remote não anuncia nenhum branch padrão, porque está vazio ou seu HEAD aponta para um branch que ninguém enviou; nesse caso, nomeie o branch explicitamente. Ele falha comerror: Not a valid refquando seu clone não faz fetch desse branch; amplie o refspec como acima primeiro. - Se o repositório não tiver remote, adicione um com
git remote add origin <url>e faça fetch antes de criar a ref. Se o remote estiver vazio, envie primeiro seu branch comgit push -u origin HEADe nomeie esse branch no comando set-head;origin/HEADentão aponta para o branch que você acabou de enviar, então/security-reviewvê um diff vazio até que o branch divirja dele.
É necessário fornecer uma entrada ao usar --print
O claude sem argumentos precisa que o stdout seja um terminal para iniciar a interface interativa. Quando o stdout é redirecionado, ou o console não é um terminal real, como o PowerShell ISE e alguns painéis de saída de IDE, claude é executado de forma não interativa. Esse é o mesmo modo de claude -p, que exige um prompt, então a mensagem nomeia --print mesmo quando você não passou a flag. Passar -p/--print sem prompt e sem nada enviado via pipe no stdin produz o mesmo erro em qualquer lugar.
- Para uso interativo, execute
claudeem um terminal real: o Windows Terminal ou o console do PowerShell em vez do ISE, e o terminal integrado da sua IDE em vez de um painel de saída - Para uso pontual, passe o prompt:
claude -p "your question", ou envie-o via pipe comecho "your question" | claude -p
O Claude Code não consegue ler o teclado aqui
Você executouclaude sem -p, o que inicia uma sessão interativa, mas sua entrada padrão não é um terminal. Algo a conectou a um pipe ou a redirecionou, ou o programa que iniciou claude forneceu seu próprio fluxo de entrada.
Uma sessão interativa precisa de um terminal de onde ler suas teclas, e o que o Claude Code faz sem um depende da sua plataforma:
- Windows: o Claude Code imprime a mensagem no stderr e sai com código 1 em vez de iniciar a interface
- macOS e Linux: o Claude Code lê suas teclas de
/dev/ttye inicia a sessão, com qualquer texto enviado via pipe como seu primeiro prompt. Você vê a mensagem quando/dev/ttynão pode ser aberto, e sua primeira linha nomeia/dev/ttyno lugar do texto do Windows.
- Para trabalhar de forma interativa, execute
claudediretamente em um terminal, sem conectar sua entrada a um pipe nem redirecioná-la - Para obter uma resposta sem a interface interativa, por exemplo a partir de um script, adicione
-pe forneça o prompt como argumento ou no stdin, como emclaude -p "your question"ouecho "your question" | claude -p. O mesmo funciona com--continuee--resume <session-id>.
Raw mode is not supported.
Se, em vez disso, você vir Raw mode is not supported durante claude install, consulte Raw mode is not supported durante a instalação.
A entrada continha apenas espaços em branco
No modo não interativo, o Claude Code recusa um prompt composto inteiramente de espaços, tabulações ou quebras de linha em vez de enviá-lo, porque a API rejeita mensagens sem texto visível. A mensagem que você vê depende de onde veio o prompt em branco:- Argumento de prompt ou stdin enviado via pipe para
claude -p:claudesai comError: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print - Mensagem enviada para uma sessão
--input-format stream-jsonou do Agent SDK em execução: o Claude Code encerra o turno sem chamar o modelo e a sessão continua utilizável. A recusa chega como uma mensagem informativa e como o texto de resultado do turno:Blank prompt — the message was only whitespace, so nothing was sent to the model.
- Inclua texto visível no prompt. Se um script constrói o prompt a partir de uma variável ou arquivo, verifique se a origem não está vazia antes de chamar o Claude Code.
A entrada stream-json trouxe mais de 256M caracteres sem quebra de linha
Seu programa enviou mais de 268.435.456 caracteres no stdin sem uma quebra de linha para uma execuçãoclaude -p --input-format stream-json, então o Claude Code imprime este erro no stderr e sai com código 1 em vez de armazenar mais entrada em buffer. A mensagem expressa esse limite como 256M. Antes da v2.1.257, o Claude Code armazenava essa entrada em buffer sem limite, aumentando a memória até o processo travar ou ser encerrado.
- Verifique o que está sendo enviado via pipe para o stdin. Com
--input-format stream-json, cada mensagem deve ser uma linha JSON terminada por quebra de linha - Para enviar texto simples, remova
--input-format stream-json;claude -plê um prompt de texto simples do stdin por padrão
Comando desconhecido
Em uma sessão de terminal interativa, você enviou um nome com/ que não corresponde a nenhum comando nesta sessão, então o Claude Code relata o nome em vez de executar algo:
- Um erro de digitação, como
/heplem vez de/help. Como o menu de comandos corresponde ao que você digita explica como escolher uma correspondência próxima antes de enviar - Um comando que existe, mas não está disponível nesta sessão porque um requisito não é atendido, como sua plataforma, plano ou método de autenticação. As entradas de solução de problemas para
/web-setupe/scheduleexplicam dois casos comuns. Alguns comandos respondem com sua própria mensagem quando a política da sua organização os desativa, comoCloud sessions are disabled by your organization's policy - Um comando de um plugin ou servidor MCP que não está instalado ou conectado nesta sessão
/ sem correspondência apenas em uma sessão de terminal interativa. Em todas as outras sessões, ele envia o prompt ao Claude como uma mensagem normal, com uma nota de que o comando não foi executado e uma lista dos comandos que o Claude pode executar na sessão. Essas sessões incluem:
- Execuções com
-p - Aplicações do Agent SDK
- A aba Code do aplicativo Desktop
- O painel de chat da extensão do VS Code
- Sessões na nuvem e rotinas
Unknown command.
O Claude Code não trata todo prompt que começa com / como um comando. Ele envia o prompt ao Claude como uma mensagem normal quando a primeira palavra após a / começa com pontuação, como o /-- que abre um comentário de documentação do Lean, ou é um caminho como /var/log/syslog.
Antes da v2.1.236, se você pressionasse Enter enquanto o menu de comandos listava uma correspondência próxima para o nome digitado, o Claude Code executava essa correspondência, então um erro de digitação como /hepl executava /help em vez de produzir esta mensagem.
O que fazer:
- Execute o nome sugerido, ou digite
/seguido de parte do nome para ver o que está disponível nesta sessão - Se o Claude Code relatar um comando documentado como desconhecido, verifique sua linha na referência de comandos para ver o requisito que ela nomeia
O diff é grande demais para o ultrareview
O diff entre seu branch e o branch base, incluindo alterações não commitadas e preparadas (staged), excede os limites de tamanho de um ultrareview, então/code-review ultra e o subcomando claude ultrareview recusam a revisão antes de a sessão na nuvem ser iniciada. Uma revisão recusada não consome uma execução gratuita e não cobra créditos de uso. A mensagem nomeia os limites em vigor, o tamanho do seu diff e os arquivos que mais contribuem com linhas alteradas. Antes da v2.1.216, a mensagem mostrava apenas as estatísticas brutas do diff.
PR #<N> is too large for ultrareview e nomeia as contagens de arquivos e linhas do PR.
O que fazer:
- Passe um branch base mais próximo do seu trabalho, como
/code-review ultra develop, para que a revisão cubra apenas o diff em relação a esse branch - Divida a alteração em branches menores e revise cada um. Os arquivos que a mensagem nomeia são os que mais contribuem com linhas alteradas, então comece movendo-os para um branch próprio.
Não foi possível encontrar o merge-base com o branch base
/code-review ultra e o subcomando claude ultrareview revisam o diff entre seu branch e um branch base, o que requer um commit que os dois compartilham. Quando git merge-base não encontra nenhum, o Claude Code recusa a revisão antes de a sessão na nuvem ser iniciada. Em um clone que o Claude Code consegue verificar como completo, com pelo menos um branch, ele recorre a revisar todos os arquivos rastreados em vez de recusar. Você vê esta recusa quando o branch base não pode ser encontrado de forma alguma, quando o Claude Code não consegue verificar se seu clone está completo, ou no raro repositório em que o diff da árvore inteira não é possível, como no formato de objeto SHA-256.
- Você não passou um branch base: o Claude Code comparou com o branch padrão do repositório e sugere passar seu branch base explicitamente, como no exemplo acima
- Você passou um branch base que já estava no seu clone: a dica diz
Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`) - Você passou um branch base que não estava no seu clone: o Claude Code fez fetch dele a partir do origin antes de comparar. A dica diz
<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`); quando o Claude Code não consegue determinar se seu clone é shallow, ele sugeregit fetch --unshallow origin. Antes da v2.1.221, a dica sugeriagit fetch --unshallow originpara todo branch base obtido por fetch, e em um clone completo esse comando falha comfatal: --unshallow on a complete repository does not make sense.
- Se outro branch for sua base real, passe-o explicitamente:
/code-review ultra <branch> - Se seu clone talvez não tenha o histórico completo, execute
git fetch --unshallow origine execute a revisão novamente
Seu checkout não tem branches
Um checkout pode ter commits, mas nenhum branch: se você executargit init seguido de git fetch <url> e git checkout FETCH_HEAD, você obtém um HEAD destacado (detached) sem refs. O Claude Code empacota seu repositório como um bundle git para enviá-lo para um ultrareview, e não consegue empacotar um repositório que não tem branches nem outras refs, então /code-review ultra e o subcomando claude ultrareview recusam a revisão antes de a sessão na nuvem ser iniciada.
- Crie um branch no seu commit atual com
git checkout -b <name>e execute a revisão novamente
Nenhuma conta do GitHub está conectada à sua conta Claude
Você executou/code-review ultra <PR#> ou claude ultrareview <PR#> e, antes de criar a sessão na nuvem, o Claude Code pergunta ao servidor se a conta do GitHub conectada à sua conta Claude consegue acessar o repositório do PR. Nenhuma conta está conectada, ou a conexão expirou, então o clone na nuvem falharia e o Claude Code recusa a inicialização. O Claude Code não consome uma execução gratuita nem cobra créditos de uso por uma inicialização recusada.
/web-setup não está disponível na sua sessão, a mensagem nomeia apenas o link do claude.ai.
O que fazer:
- Execute
/web-setuppara conectar seu login da CLI do GitHub à sua conta Claude, ou conecte uma conta em claude.ai/connect-github - Execute a revisão novamente um minuto após conectar
Sua conta do GitHub conectada não consegue ver o repositório
Você executou/code-review ultra <PR#> ou claude ultrareview <PR#>, e a conta do GitHub conectada à sua conta Claude não consegue ler o repositório do PR, então o clone na nuvem falharia e o Claude Code recusa a inicialização. O Claude Code não consome uma execução gratuita nem cobra créditos de uso por uma inicialização recusada.
/web-setup não está disponível na sua sessão, a mensagem nomeia apenas a instalação do aplicativo.
O que fazer:
- Se sua CLI
ghlocal consegue ler o repositório, execute/web-setuppara conectar esse login à sua conta Claude - Execute a revisão novamente após a alteração
A verificação prévia do GitHub App falhou de forma transitória
Você iniciou uma sessão na nuvem a partir de um repositório local, e duas etapas falharam juntas. O Claude Code não conseguiu criar ou enviar o bundle do seu repositório. Antes do envio, ele verificou se o serviço na nuvem consegue clonar o repositório do GitHub e, em vez de uma resposta definitiva, essa verificação terminou em um erro que uma nova tentativa poderia resolver, como um erro de rede, um timeout ou um erro temporário do servidor. A mensagem completa começa com o que impediu o bundle, por exemploCould not upload repo bundle (<error>), e termina com a frase da verificação prévia:
- Execute o comando novamente após um momento. Quando a verificação do GitHub for aprovada, o Claude Code poderá iniciar a sessão a partir de um clone do GitHub, então o envio com falha deixa de bloquear a inicialização
- Se as novas tentativas continuarem falhando, o início da mensagem nomeia o que impediu o envio. Quando essa causa for algo que você possa corrigir, corrija-a para que a sessão possa ser iniciada a partir do seu repositório local
Please set up GitHub on https://claude.ai/code mesmo quando a verificação do GitHub falhava apenas de forma transitória, e conselhos de configuração não resolvem uma falha transitória.
O envio do repositório não consegue seguir uma configuração do git
Você iniciou uma sessão na nuvem que envia seu repositório local, ou um ultrareview de um branch, e o envio não consegue seguir uma das configurações do git que decidem quais regras de atributos se aplicam aos seus arquivos. Se o envio prosseguisse e deixasse de aplicar uma regra, um arquivo que o git transforma antes de armazenar, como um que um filtro clean criptografa, poderia chegar à nuvem como está no disco. Em vez disso, o Claude Code recusa o envio, e nada é enviado:core.attributesFile e attr.tree, cada uma com sua própria correção.
A mensagem pode nomear um arquivo de configuração que sua configuração do git inclui por meio de uma diretiva include ou includeIf, mesmo quando a condição dessa diretiva não se aplica a este repositório.
O que fazer:
- Aplique a correção indicada na frase final da mensagem
O GitHub não está conectado à sua conta Claude
Você iniciou uma sessão na nuvem a partir do seu repositório local, por exemplo com/autofix-pr. Nenhuma conta do GitHub está conectada à sua conta Claude, ou a conexão expirou, então o Claude Code recusa a inicialização:
/schedule, a mesma mensagem aparece como uma nota de configuração que nomeia o repositório; a nota não impede a criação da rotina.
O que fazer:
- Execute
/web-setuppara conectar seu login da CLI do GitHub à sua conta Claude, ou conecte uma conta em claude.ai/connect-github. Consulte Opções de autenticação do GitHub para ver como as duas diferem. - Execute o comando novamente um minuto após conectar
Uma política da organização do GitHub está bloqueando o Claude
Você executou um comando no prompt do Claude Code que inicia uma sessão na nuvem, como/autofix-pr. Antes de criar a sessão, o Claude Code verifica o acesso do Claude ao repositório no GitHub, e o GitHub recusou porque sua organização do GitHub tem uma política que bloqueia o Claude. O Claude Code para nesse ponto e mostra uma mensagem indicando a política.
Quando o que bloqueia o acesso é uma IP allow list, a mensagem diz:
- IP allow list: peça a um proprietário da sua organização ou enterprise do GitHub que permita os endereços IP de saída da Anthropic. Consulte Allow lists e firewalls do GitHub para ver os endereços e as configurações do GitHub a alterar.
- Single sign-on: desconecte o GitHub em claude.ai/customize/connectors e conecte-o novamente. Quando o GitHub pedir, clique em Authorize ao lado da sua organização para que a nova conexão seja autorizada para o single sign-on dela.
- Política de Acesso Condicional: peça ao seu administrador do GitHub Enterprise ou do Microsoft Entra ID que permita o Claude nessa política
- Após a alteração, execute o comando novamente
Autorização de single sign-on necessária
Você executou/install-github-app e escolheu um repositório cuja organização exige SAML single sign-on. Antes da configuração, o Claude Code verifica seu acesso ao repositório com o GitHub CLI, e o GitHub recusou essa verificação porque seu token do gh ainda não está autorizado para a organização. O assistente mostra o aviso com as etapas para autorizar:
- Autorize novamente seu login do GitHub CLI com os escopos
repoeworkflowexecutandogh auth refresh -h github.com -s repo,workflow, e autorize a organização quando o GitHub solicitar o single sign-on - Se você se autentica com um personal access token em
GH_TOKEN, abra github.com/settings/tokens, selecione Configure SSO no token e autorize a organização - Execute
/install-github-appnovamente
Admin permissions required para essa condição.
Falha ao retomar a conversa
O Claude Code não conseguiu ler ou processar a transcrição salva da sessão que você selecionou no seletor doclaude --resume, então encerra o processo em vez de continuar em um estado parcialmente carregado. A mensagem inclui o comando para tentar novamente:
/resume dentro de uma sessão em execução, em vez disso, informa Failed to resume conversation na conversa, e sua sessão atual continua em execução. Antes da v2.1.216, uma retomada com falha a partir do seletor do claude --resume ficava indefinidamente no indicador Resuming conversation… em vez de mostrar essa mensagem.
O que fazer:
- Execute
claude --resume <session-id>com o ID da sessão da mensagem para tentar novamente - Em uma versão anterior à v2.1.285, se a nova tentativa falhar da mesma forma, execute
claude updatee retome novamente. Essas versões falham na retomada quando a transcrição salva contém uma entrada que elas não conseguem ler. - Se a nova tentativa falhar novamente, execute
claudepara iniciar uma nova sessão
Nenhuma conversa encontrada com o ID da sessão
Você passou um ID de sessão paraclaude --resume <session-id> e nenhuma transcrição salva correspondeu a ele:
- ID digitado incorretamente: para uma execução não interativa, o ID é o campo
session_idda saída de--output-format json - Transcrição excluída: o Claude Code remove transcrições após o período de retenção, 30 dias por padrão, seguindo as regras de limpeza de retenção
- Máquina diferente: o Claude Code armazena transcrições localmente, então retome a sessão na máquina em que ela foi executada
- Cópias duplicadas: se você copiou um diretório de projeto em
~/.claude/projectsde modo que duas transcrições tenham o mesmo ID, o Claude Code informa essa mensagem em vez de retomar uma das cópias arbitrariamente
- Para uma sessão interativa, abra o seletor de sessões com
claude --resumee pressioneCtrl+Apara ampliá-lo a todos os projetos desta máquina, depois selecione a sessão - Sessões criadas com
claude -pou com o Agent SDK não aparecem no seletor, então confira novamente o ID com osession_idque sua execução original imprimiu
O Windows relatou um erro (EBADF) quando o Claude Code leu o arquivo de transcrição desta sessão
Você retomou uma sessão no Windows, o arquivo de transcrição salvo dela abriu normalmente, e a leitura depois falhou com o erro de sistema EBADF. O erro de sistema não diz por que a leitura falhou, então a mensagem sugere causas prováveis e o que tentar:Failed to resume session <session-id>. Um comando claude --resume ou claude -p sai com o código 1 após mostrá-la. Após /resume dentro de uma sessão, sua sessão atual continua em execução.
O que fazer:
- Exclua a pasta que contém suas transcrições de sessão de softwares que verificam ou interceptam leituras de arquivos, como ferramentas de segurança, criptografia ou gerenciamento de endpoints. As transcrições ficam em
%USERPROFILE%\.claude\projectspor padrão, ou no diretório indicado porCLAUDE_CONFIG_DIR - Se você não puder adicionar uma exclusão, adicione o Claude Code aos aplicativos permitidos desse software
- Retome a sessão novamente
claude --resume <session-id> terminava em Failed to resume session <session-id>, e uma execução com -p imprimia apenas o texto do erro de sistema, como Failed to resume session: EBADF: bad file descriptor, read.
Não é possível trocar de renderizador nesta sessão
Quando você troca de renderizador, o Claude Code reinicia seu processo. Você executou/tui em uma sessão que o Claude Code se recusa a reiniciar, então ele não troca e não salva nada. A mensagem que você vê indica a causa:
Cannot switch renderers while work is running in the background: você tem trabalho em segundo plano em execução que uma reinicialização abandonaria, como um shell em segundo plano ou um subagente. Aguarde o trabalho terminar ou interrompa-o com/tasks, depois execute/tui fullscreenou/tui defaultnovamenteCannot switch renderers in this session: a sessão tem restrições que o Claude Code não consegue repassar ao processo reiniciado. Antes da v2.1.234, o Claude Code reiniciava mesmo assim e a sessão relançada era executada sem elas
launch flags: a custom system prompt, a tool allowlist, or restricted settings: você iniciou a sessão com uma flag que o Claude Code não repassa ao processo reiniciado. Essas flags incluem--system-prompt,--system-prompt-file,--append-system-prompt-file, uma allowlist de--tools,--setting-sourcese--permission-prompt-toolpermission rules set for this session only: uma atualização de permissão de um hook ou chamador do SDK adicionou regras deny ou ask com o destinosession. Regras allow com escopo de sessão não causam a recusa. Uma reinicialização as descarta, e o Claude Code solicita novamenteask-before-running rules with no command-line form: uma atualização de permissão de um hook ou chamador do SDK adicionou regras ask junto com as regras que o Claude Code repassa como--allowed-toolse--disallowed-tools. Não existe flag para regras askpermission rules a command line cannot carry intacteadded directories a command line cannot carry intact: uma atualização de permissão adicionou uma regra ou um caminho de diretório no meio da sessão. A linha de comando do processo reiniciado não consegue transportar o texto dela como o mesmo valor
- Em uma sessão iniciada sem essas restrições, execute
/tui fullscreen, ou/tui defaultpara voltar. O Claude Code salva a configuraçãotuiali
Claude Code couldn’t restart
Quando essa mensagem diz que sua conversa está salva, a conversa está no disco e você pode retomá-la de onde parou. O Claude Code estava se reiniciando, por exemplo para ativar ou desativar a renderização em tela cheia depois que você executou/tui, e não conseguiu iniciar o novo processo, então saiu com status 1:
/tui foi sua primeira entrada em uma nova sessão, a mensagem diz Claude Code couldn't restart. Start Claude Code again.
O que fazer:
- Execute
claudenovamente no seu shell. Se a mensagem disse que sua conversa está salva, execute/resumena nova sessão e selecione a conversa. Se ela não estiver na lista, amplie o seletor de sessões - Se as reinicializações continuarem falhando, inicie o Claude Code a partir do seu shell com
claude --debug-file claude-debug.log. Se uma reinicialização a partir dessa sessão falhar, oclaude-debug.logno diretório de onde você iniciou registra uma linhaFailed to relaunch:com o erro do sistema operacional. Inclua essa linha ao relatar o problema
Não foi possível abrir o Claude Desktop
Você executou/desktop ou seu alias /app em uma sessão, ou claude --desktop no seu shell, e o comando de sistema que o Claude Code usa para abrir o Claude Desktop falhou. Após /desktop, a sessão permanece no terminal; claude --desktop imprime a mensagem sem o prefixo Error: e sai com status 1.
O texto entre parênteses indica o comando que falhou, com seu status de saída e a primeira linha da saída de erro quando ele os produziu. No macOS esse comando é open, como neste exemplo; no Windows é rundll32:
- Abra o Claude Desktop você mesmo e depois execute
/desktopouclaude --desktopnovamente - Para ler a saída de erro completa do comando que falhou, ative o log de depuração com
/debuge execute/desktopnovamente, ou executeclaude --desktop --debug-file <path>, e depois verifique o log de depuração
Open Claude Desktop and run /desktop again. Antes da v2.1.275, ela era Failed to open Claude Desktop. Please try opening it manually. e não dizia o que havia falhado.
/terminal-setup deixou seu keymap do Zed inalterado
Você executou/terminal-setup no Zed, e o Claude Code não conseguiu concluir a atualização do seu keymap.json do Zed, então deixou o arquivo como estava.
Cada mensagem indica o caminho do seu keymap e termina com o bloco de atalho de teclado para você mesmo adicionar:
Couldn't read your Zed keymap, so it was left unchanged.: o Claude Code não conseguiu ler o arquivo, por exemplo por causa de permissões de arquivoYour Zed keymap isn't a readable list of keybindings, so it was left unchanged.: o arquivo foi lido, mas não é interpretado como um array de blocos de atalhos de teclado, mesmo permitindo comentários//e vírgulas finaisCouldn't back up your Zed keymap; not modifying it.: o Claude Code não conseguiu copiar o arquivo para um backup.bakao lado dele, então não alterou nadaCouldn't update your Zed keymap, so it was left unchanged.: o resultado mesclado não foi verificado como um keymap válido contendo o atalho, então o Claude Code o descartou em vez de gravá-lo. Um bloco de atalho de teclado com uma chave duplicada pode causar isso
- Copie o bloco da mensagem para o array de nível superior do seu
keymap.json, no caminho que a mensagem indica - Para
isn't a readable list of keybindings, corrija o erro de sintaxe ou faça com que o valor de nível superior do arquivo seja um array, depois execute/terminal-setupnovamente
/terminal-setup não conseguia interpretar um keymap do Zed que usasse comentários // ou vírgulas finais, e substituía o arquivo inteiro apenas pelo seu próprio atalho, informando que o atalho havia sido instalado. Para restaurar um keymap que uma versão anterior substituiu, use o arquivo de backup .bak descrito em Inserir prompts de várias linhas.
Relatórios de uso de skills não estão disponíveis nesta conexão
Você executou/skill-doctor pelo Remote Control, a partir do seu celular ou navegador. O Claude Code não envia o relatório de uso de skills pelo Remote Control e, em vez disso, responde com esta mensagem:
- Execute
/skill-doctorno terminal da máquina em que a sessão está em execução, ou executeclaude -p "/skill-doctor"ali
Estilos de saída personalizados não podem ser selecionados pelo Remote Control
Você executou/output-style a partir do aplicativo móvel ou da web via Remote Control, ou o comando chegou em uma mensagem retransmitida para a sessão. Como esse turno pode não vir do proprietário da conta, o Claude Code lista e seleciona apenas estilos integrados nele, e adiciona este aviso sempre que o comando lista os estilos ou não reconhece o nome que você informou. Um nome de estilo personalizado recebe a mesma resposta que um nome que não existe:
- Escolha um estilo integrado, por exemplo
/output-style concise - Para usar um estilo personalizado, defina
outputStyleno.claude/settings.local.jsondo projeto, ou execute/output-style <style>no próprio terminal da sessão, se ela tiver um
Estilos de saída são salvos nas configurações locais, que esta sessão não carrega
Você tentou trocar de estilo de saída com/output-style <style> ou /config outputStyle=<style> em uma sessão cujas fontes de configuração excluem local. Exemplos são uma sessão do Agent SDK cujo settingSources omite "local" e uma sessão da CLI iniciada com um valor de --setting-sources que omite local. Ambos os comandos salvam o estilo em .claude/settings.local.json, um arquivo que essa sessão nunca lê de volta, então o Claude Code recusa em vez de gravar uma configuração que não teria efeito:
- Adicione
localàs fontes de configuração da sessão e troque novamente - Defina a chave
outputStyleem um arquivo de configurações que a sessão carregue, como.claude/settings.jsonno projeto ou~/.claude/settings.json. No SDK TypeScript, definaoutputStyledentro do objetosettingsinline; consulte Ativar um estilo de saída
/recap só é executado quando você mesmo o solicita
A solicitação de/recap não veio da sua própria entrada. Ela chegou em uma mensagem retransmitida para a sessão a partir de uma thread do Slack, do Teams ou de um projeto, ou em um prompt que uma rotina ou outro programa enviou.
Uma mensagem retransmitida recebe o aviso mesmo quando foi você quem a escreveu. O Claude Code não consegue saber se uma mensagem retransmitida ou automatizada veio da pessoa cuja conta executa a sessão, então responde com este aviso em vez de um resumo:
/recap que você passa para claude -p, ou que seu próprio aplicativo do Agent SDK envia para uma sessão que ele iniciou, conta como sua própria entrada.
O que fazer:
- Abra a sessão você mesmo e execute
/recapali: no terminal dela, no aplicativo Desktop ou no aplicativo móvel, em claude.ai/code, ou pelo Remote Control - Se uma rotina ou outro programa o enviou, remova
/recapdesse prompt
Erros de plugin
Esses erros vêm da configuração de plugin e marketplace. Para problemas de plugin que não produzem uma das mensagens nesta página, como uma URL de marketplace que não carrega ou um plugin que é instalado mas não aparece, consulte Solução de problemas de plugin.plugin eval is currently in early access
Você executouclaude plugin eval ou claude plugin eval init e ele saiu com código 1 com uma dessas mensagens antes de fazer qualquer coisa:
- Execute
claude --version, depoisclaude update, e execute o comando novamente em uma nova sessão. Consulte os requisitos para plugin evals - Se você vir a segunda mensagem em uma compilação atual, tente novamente mais tarde após outro
claude update
Marketplace is registered from an untrusted source
O marketplace está registrado sob um nome que é reservado para marketplaces oficiais da Anthropic, mas sua fonte registrada não é um repositório GitHubanthropics. Claude Code verifica novamente os nomes reservados toda vez que carrega ou atualiza um marketplace, então o marketplace e os plugins instalados a partir dele param de carregar. Antes da v2.1.205, uma entrada registrada antes de seu nome ficar reservado continuava carregando.
can only be used with GitHub sources from the 'anthropics' organization em vez disso. claude plugin marketplace add executa a mesma verificação e recusa um nome reservado com Failed to add marketplace: seguido pela mesma frase de nome reservado.
O que fazer:
- Se o marketplace já está registrado, execute
claude plugin marketplace remove <name>, depois adicione-o novamente do repositório oficialgithub.com/anthropics - Se você publicar um marketplace de terceiros que usou o nome antes de ficar reservado, renomeie-o e peça aos usuários para adicioná-lo novamente de sua fonte
- Consulte a lista de nomes reservados em Marketplace schema
Marketplace name is another spelling of a reserved name
O nome do marketplace não é em si um nome reservado, mas Claude Code o trata como outra grafia de um. Nomes reservados lista quais grafias contam como um nome reservado. Claude Code recusa tal nome quando você adiciona o marketplace:/plugin, claude plugin install, e claude plugin update avisam:
This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be.
O que fazer:
- Renomeie o marketplace para um nome que não soletra um nome reservado e adicione-o novamente
- Para o aviso de entrada ignorada, execute o comando
claude plugin marketplace removeque ele fornece, ou remova a entrada de~/.claude/plugins/known_marketplaces.json
Claude Code refuses the marketplace name
Um marketplace registrado tem um nome que se passa por um marketplace oficial da Anthropic sob as regras que essa seção lista. Se um marketplace foi registrado sob tal nome antes da verificação bloqueá-lo, o marketplace e os plugins instalados a partir dele param de carregar, porque Claude Code verifica o nome toda vez que lê o catálogo do marketplace. Quando o nome imita um oficial,claude plugin list e a aba Errors do /plugin relatam cada plugin afetado com uma mensagem que começa:
Claude Code refuses this marketplace's name: it looks like one of Anthropic's own em vez disso. claude plugin marketplace add recusa qualquer nome que se passa por outro com Marketplace name impersonates an official Anthropic/Claude marketplace.
Antes da v2.1.282, claude plugin list e /plugin relatavam os plugins de um nome imitador como falhando ao carregar também, sem nomear o nome do marketplace como a causa.
O que fazer:
- Para manter um marketplace que um arquivo de configurações declara inline com
"source": "settings", renomeie-o antes de remover o nome antigo, porque remover o marketplace também exclui sua entrada dos seus arquivos de configurações. Claude Code v2.1.292 ou posterior lista estas etapas na mensagem:- Em cada arquivo de configurações que lista o marketplace em
extraKnownMarketplaces, dê à chave da entrada e ao seusource.nameum mesmo nome novo em ASCII simples que não se pareça com um oficial. Se um administrador adiciona o marketplace por meio das configurações gerenciadas da sua organização, o administrador realiza esta etapa - Execute
claude plugin marketplace remove <old-name>, ou remova o nome antigo na aba Marketplaces do/plugin. Isso também desinstala seus plugins e exclui seus dados, opções e segredos - Inicie o Claude Code novamente, na pasta do projeto se o arquivo for um arquivo de configurações de projeto. Depois instale os plugins a partir do marketplace renomeado
- Em cada arquivo de configurações que lista o marketplace em
- Para manter qualquer outro marketplace, aguarde até que seu mantenedor o renomeie, depois execute
claude plugin marketplace update <name> - Para remover o marketplace, execute
claude plugin marketplace remove <name>. Isso também desinstala os plugins instalados do marketplace e exclui seus dados, opções e segredos - Se você publica o marketplace, renomeie-o em seu
marketplace.json; os usuários então atualizam o marketplace em vez de removê-lo
Marketplace is already added from a different source
Você indicou uma nova fonte de marketplace com--marketplace <source> no comando de instalação, em uma sessão ou a partir do seu shell. O catálogo que Claude Code buscou dessa fonte tem o mesmo nome de um marketplace que você já adicionou de uma fonte diferente. Claude Code mantém o marketplace existente em vez de substituí-lo, e o plugin não é instalado.
- Se o marketplace que você já adicionou é o que você quer, instale a partir dele pelo nome:
/plugin install <plugin>@<name> - Para mudar para a nova fonte, execute
/plugin marketplace remove <name>, depois tente a instalação novamente
Plugin command references user_config in a shell command
Um hook de plugin, monitor, ou comando MCPheadersHelper referencia uma ${user_config.KEY} opção de plugin, e a string substituída seria passada para um shell. Um valor configurado contendo $(...), backticks, ou ; seria executado como código lá, então Claude Code recusa iniciar o componente em vez de substituir o valor. A verificação é executada no modelo de comando, então o erro aparece mesmo quando nenhum valor está configurado ainda. Antes da v2.1.207, o valor era substituído no comando shell.
A redação depende de qual superfície referenciou a opção. Um hook de forma shell relata:
headersHelper relata:
- Para um hook, adicione um array
argspara que ele seja executado em exec form, onde cada${user_config.KEY}se torna um argumento sem shell no meio. Ou remova a referência e leia a variável de ambiente$CLAUDE_PLUGIN_OPTION_<KEY>dentro do script - Para um monitor, remova a referência e faça o script do monitor ler o valor de um arquivo de configuração
- Para um
headersHelper, mova${user_config.KEY}para o campoheadersdo servidor, que não é analisado por shell, ou leia o valor dentro do script helper
Plugin archive integrity check failed
A entrada do marketplace do plugin usa uma fontearchive com um pin sha256, e o digest do arquivo baixado não corresponde ao pin. Claude Code recusa a instalação, então nada muda no cache de plugin. A incompatibilidade tem três possíveis causas:
- O arquivo na URL mudou depois que o autor computou o pin
- O autor inseriu o digest errado na entrada do marketplace
- A URL serve um arquivo diferente do que o autor fixou
- Se você publica o plugin, recompute o digest do arquivo exato que a URL serve, por exemplo com
shasum -a 256 my-plugin.zip, ouGet-FileHash -Algorithm SHA256 my-plugin.zipno PowerShell, e atualize osha256na entrada do marketplace - Se você instala o plugin, execute
/plugin marketplace update <name>para atualizar o catálogo caso a entrada tenha sido corrigida, depois tente a instalação novamente - Se os digests ainda discordarem após uma atualização, pergunte ao proprietário do marketplace qual arquivo eles fixaram antes de instalar
Path escapes plugin directory
Um caminho de componente de plugin, declarado noplugin.json do plugin ou em sua entrada de marketplace, resolve fora do diretório do próprio plugin. Claude Code descarta esse caminho e carrega o resto do plugin. O nome do componente na mensagem, como commands ou hooks, nomeia o campo que declarou o caminho.
claude plugin, o mesmo erro lê Path escapes plugin directory: ./../shared.md (commands).
Claude Code rejeita tanto um caminho que aponta para fora do plugin conforme escrito, como ../shared-utils, e um symlink que leva para fora do plugin e não é um que as regras de symlink do marketplace permitem. Para um symlink, a mensagem também diz para onde o caminho resolve:
commands declarado em uma entrada de marketplace mesmo quando apontava para fora do diretório do plugin.
Antes da v2.1.257, a verificação olhava apenas para a grafia do caminho, não para onde um symlink leva.
O que fazer:
- Mova o arquivo referenciado dentro do diretório do plugin e aponte o caminho para ele com um caminho relativo
./ - Se o caminho é um symlink para um arquivo fora do plugin, substitua o symlink por uma cópia do arquivo
- Se a mensagem diz que o caminho contém uma barra invertida, escreva o caminho com barras para frente, por exemplo
./commands/deploy.md - Para compartilhar arquivos com outros plugins no mesmo marketplace, vincule-os com um symlink dentro do diretório do plugin, seguindo as regras de symlink
Path could not be checked
Claude Code perguntou ao sistema operacional se um caminho de plugin existe e recebeu um erro diferente de “não encontrado”, então ele não carrega o que o caminho nomeia. Quanto do plugin carrega depende de qual caminho falhou:- Um dos locais de componente padrão de um plugin, como a pasta
skills/, o arquivomonitors/monitors.json, ou umSKILL.mdna raiz do plugin: os outros componentes do plugin ainda carregam - O próprio diretório do plugin: nada desse plugin carrega
/plugin, o erro aparece sob o plugin e nomeia o caminho e o código que o sistema operacional retornou:
claude plugin list, o mesmo erro lê Path not found: /home/user/my-plugin/skills (skills, ELOOP).
As causas que produzem esse erro incluem:
ELOOP: um symlink no caminho aponta para si mesmo ou forma um loopEIOouESTALE: o caminho está em uma montagem de rede que está quebrada ou obsoletaEACCES: um dos diretórios acima do caminho nega a você permissão para atravessá-lo
- Substitua um symlink que aponta para si mesmo por uma pasta real, ou delete-o
- Se o caminho está em uma montagem de rede, remonte o compartilhamento
- Se o código é
EACCES, restaure sua permissão de execução nos diretórios acima do caminho - Execute
/reload-pluginsapós corrigir o caminho, ou reinicie Claude Code, para carregar o plugin ou componente
Marketplace entry path does not stay inside the marketplace directory
A entrada de marketplace do plugin declara um caminho de origem que Claude Code não consegue resolver para um local dentro do próprio diretório do marketplace, então o plugin não instala ou carrega. A recusa cobre:- Um caminho de entrada que é absoluto, sobe para fora do marketplace com
.., ou é soletrado como um caminho de rede - No macOS e Linux, um caminho de entrada que contém uma barra invertida em qualquer lugar após o
./inicial - Uma entrada em um marketplace buscado de uma fonte remota, como git ou uma URL, que alcança seu alvo através de um symlink resolvendo fora do diretório do marketplace
- Uma entrada relativa em um marketplace adicionado de uma URL direta para seu
marketplace.json: Claude Code baixa apenas esse arquivo, então nenhum arquivo de plugin local existe para o caminho nomear. Consulte Plugins with relative paths fail in URL-based marketplaces
claude plugin install relata a recusa assim:
claude plugin list mostra o plugin como failed to load com:
- Se você mantém o marketplace, escreva o
sourceda entrada como um caminho relativo simples com barras para frente, como./plugins/my-plugin, e mantenha qualquer symlink que ele cruze apontado dentro do diretório do marketplace - Se você adicionou o marketplace de uma URL direta, entradas relativas não conseguem resolver. Peça ao autor do marketplace para usar outra fonte de plugin, ou adicione o marketplace de seu repositório git em vez disso
Failed to load marketplace configuration
Claude Code mantém os marketplaces de plugin que você adicionou em um arquivo de registro em~/.claude/plugins/known_marketplaces.json. Um comando de plugin que precisa do registro, como claude plugin install, falha com uma de duas mensagens quando Claude Code não consegue usar o arquivo:
Failed to load marketplace configuration: o arquivo existe, mas não é JSON válido ou não pode ser lido. Um arquivo vazio falha dessa forma também.Marketplace configuration file is corrupted: o arquivo é JSON válido mas seu conteúdo não corresponde ao esquema do registro.
claude plugin install relata:
claude plugin install não relatava essa falha.
O que fazer:
- Abra
~/.claude/plugins/known_marketplaces.jsone repare o JSON, ou corrija as entradas que a mensagem nomeia como não correspondendo ao esquema do registro - Se você não conseguir repará-lo, delete o arquivo ou substitua seu conteúdo por
{}, depois adicione novamente cada marketplace comclaude plugin marketplace add <source>. Claude Code re-registra os marketplaces que suas configurações de usuário ou gerenciadas declaram emextraKnownMarketplacesna próxima vez que você o inicia em uma pasta que você confiou.
Plugin is required by your organization
Você executouclaude plugin disable, ou usou a aba Installed do /plugin, para desativar um plugin sincronizado de claude.ai que sua organização marca como obrigatório:
- Peça a um administrador de sua organização claude.ai para mudar o status obrigatório do plugin em claude.ai
Plugin was not uninstalled
Você executouclaude plugin uninstall, ou escolheu Uninstall na aba Installed do /plugin, e a desinstalação parou com uma mensagem começando "<plugin>" was not uninstalled:. Se o texto após esse dois-pontos começar com installed_plugins.json em vez de nomear um arquivo de configurações, a causa é conteúdo em installed_plugins.json que esta versão de Claude Code não consegue ler. Para esse formulário, consulte installed_plugins.json holds a record this version can’t read.
Quando Claude Code removeu a entrada do plugin de enabledPlugins e leu os arquivos de configurações desse escopo novamente, ou o plugin ainda estava ligado lá, ou um arquivo que poderia ligá-lo não conseguiu ser lido ou verificado. Deletar as opções salvas do plugin, segredos e dados enquanto uma entrada de configurações poderia ligá-lo novamente perderia tudo, então a desinstalação para em vez disso: o plugin permanece instalado e nada que ele salvou é deletado.
it is still switched on in <file>, although the settings change reported no error: a escrita de configurações relatou sucesso mas a entrada ainda está lá quando o arquivo é lido novamenteit is still switched on in <file>, and the settings change failed (<error>): o arquivo não conseguiu ser salvo, pela razão entre parênteses<file> is there and could not be read: o arquivo existe mas não conseguiu ser lido como configurações, por exemplo porque não é JSON válido, então pode ainda ativar o plugin<file> (not read: it is on a network path or is a link to one, or could not be checked): Claude Code não leu o arquivo de configurações do projeto ou local porque o arquivo, ou a pasta.claudeque o contém, é um link que leva a um local de rede, ou porque não conseguiu examinar esse caminho
claude plugin uninstall sai com código 1, e com --json o resultado carrega failureCode: "settings_still_on". /plugin mostra a mesma mensagem.
O que fazer:
- Siga a última frase da mensagem: repare ou substitua o arquivo de configurações que ela nomeia, ou remova a entrada do plugin de
enabledPluginsnaquele arquivo você mesmo, depois execute a desinstalação novamente
Erros de ferramentas
Esses erros vêm das chamadas de ferramenta do Claude. Claude corrige a maioria dos erros de ferramentas por conta própria. Quando um deles precisa de uma mudança sua, a lista O que fazer desse erro diz o que mudar.Nenhuma ferramenta com esse nome disponível
Claude chamou uma ferramenta por um nome que não está na lista de ferramentas da sessão. Claude Code retorna o erro ao Claude como o resultado da chamada de ferramenta, e o turno continua. Quando Claude Code consegue identificar por que a ferramenta está ausente, ele adiciona uma frase após o nome da ferramenta que dá a razão ou nomeia a ferramenta a ser chamada em vez disso, como na segunda linha:- Se acontecer uma vez, você não precisa fazer nada. Claude lê o erro e o turno continua.
- Se chamadas às ferramentas de um servidor MCP continuarem falhando com esse erro, execute
/mcpna sessão ouclaude mcp listno seu shell para verificar o status do servidor, e reconecte um servidor com falha a partir de/mcp. No Agent SDK, veja Tratamento de erros.
Agent seria iniciado com zero ferramentas
Cada entrada na listatools do subagente falhou em corresponder a uma ferramenta utilizável, então Claude Code recusou iniciar o subagente: sem ferramentas, ele não poderia agir. A mensagem agrupa suas entradas pelo que deu errado:
- Unrecognized: a entrada não corresponde a nenhum nome de ferramenta, geralmente um erro de digitação como
GrpeparaGrep. - Not available to subagents: a entrada nomeia uma ferramenta real que subagentes não podem usar. Subagentes em background mantêm um conjunto de ferramentas integradas menor, então uma entrada que apenas um subagente em foreground pode usar fica aqui quando o subagente seria executado em background, que é o padrão. Se você listar
Agent, a mensagem o relata no próximo grupo. - Matched no tools in this session: a entrada é válida mas nenhuma ferramenta na sessão atual corresponde a ela agora, como
mcp__github__*sem servidor GitHub MCP conectado, ouAgentpara um subagente no limite de profundidade.
tools nunca dispara essa recusa. Se você deixar a lista tools vazia, ou disallowedTools remover cada entrada nela, Claude Code também pula a recusa e inicia o subagente sem ferramentas.
Antes da v2.1.208, o subagente era iniciado sem ferramentas e poderia retornar um resultado vazio ou confuso.
- Corrija cada entrada que o erro nomeia com base nas ferramentas disponíveis para subagentes
- Remova entradas para ferramentas que a sessão não tem, como ferramentas MCP de um servidor que não está conectado
- Para uma ferramenta que subagentes em background descartam, como
CronCreate, remova a entrada. Para manter a ferramenta, desative o fork mode e peça ao Claude para executar o subagente em foreground - Delete o campo
toolsem vez de listar ferramentas para dar ao subagente cada ferramenta disponível para subagentes - Para uma lista
toolsque contém apenasAgent, aumente o limite de profundidade ou dê ao agente pelo menos uma outra ferramenta: Claude Code retémAgentnesse limite, então uma lista com nada mais nela se resolve para nenhuma ferramenta
Arquivo é coberto por uma regra de negação Read
A ferramenta Edit ou Write foi chamada em um caminho correspondido por uma regra de negaçãoRead, incluindo criar um novo arquivo nesse caminho. Ambas as ferramentas mudam conteúdo que Claude tem que ser capaz de ler de volta, então Claude Code recusa a chamada antes de qualquer acesso a arquivo. NotebookEdit não é coberto por regras de negação Read. Antes da v2.1.228, a regra bloqueava apenas a ferramenta Edit, e antes da v2.1.208, apenas uma regra de negação Edit bloqueava edições.
and cannot be written em vez disso.
O que fazer:
- Se Claude deveria ser capaz de mudar o arquivo, remova ou estreite a regra de negação
Readem/permissionsou em settings - Se o arquivo deve permanecer intocado, mantenha a regra e adicione uma regra de negação
Editpara o mesmo caminho para bloquear a ferramenta NotebookEdit também
Path cannot contain null bytes
Uma chamada de ferramenta de arquivo teve seu argumento path ou pattern contendo um byte nulo, que sistemas de arquivos e ferramentas de pesquisa não podem aceitar. Read, Write, Edit, NotebookEdit, Glob, e Grep verificam isso, e a mensagem nomeia a ferramenta e o argumento:- Nada da sua parte: o erro é retornado ao Claude como o resultado da ferramenta, e a mensagem em si diz ao Claude para remover o byte nulo e tentar novamente
Path contains null bytes, e a ferramenta nunca era executada.
subagent_type é obrigatório
subagent_type, e essa sessão não tem subagente de propósito geral para recorrer. Esse é o caso em duas configurações:
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1está definido em modo não interativo, que remove cada subagente integrado- O agente de thread principal da sessão tem uma allowlist
tools: Agent(...)que deixa de forageneral-purpose
- Geralmente nada: a mensagem lista os subagentes que a sessão tem, então Claude pode tentar novamente com um deles
- Se Claude continuar falhando, adicione
general-purposeà allowlisttools: Agent(...), ou remova a definição deCLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS
Agent type 'general-purpose' not found.
Índice de memória está acima de seu limite de leitura
Claude escreveu no índice de memória automáticaMEMORY.md e o deixou acima de um de seus limites de leitura: 200 linhas ou 25KB. A escrita foi bem-sucedida, mas apenas as primeiras 200 linhas ou 25KB, o que vier primeiro, carregam no início de uma sessão, então tudo além do limite é descartado cada vez que o índice é lido. Antes da v2.1.210, um índice acima do limite era silenciosamente truncado no próximo carregamento sem sinal de tempo de escrita.
- Deixe Claude reescrever
MEMORY.md, ou peça a ele: mantenha uma linha por entrada, mova detalhes para arquivos de tópico, e mescle ou descarte entradas obsoletas - Para aparar o índice você mesmo, veja Audit and edit your memory
Padrão pkill corresponde ao processo Claude Code
Um comandopkill em uma chamada de ferramenta Bash usou um padrão, tipicamente com -f, que corresponde ao próprio processo Claude Code, então Claude Code recusa o comando em vez de deixá-lo encerrar a sessão. Claude Code testa o padrão com pgrep antes de executar pkill e recusa quando seu próprio ID de processo está no resultado. A verificação é executada apenas em Linux; em macOS, pkill é executado sem modificações. Antes da v2.1.214, o comando era executado, e um padrão correspondente matava a sessão Claude Code no meio de um turno.
- Estreite o padrão para que corresponda apenas ao processo pretendido, por exemplo o caminho completo do binário alvo em vez de uma substring curta
- Para parar processos iniciados pelo shell atual, use
pkill -P $$com o padrão, que limita a correspondência aos processos filhos do próprio shell
Falha ao escrever na caixa de entrada de um colega
Claude Code não conseguiu escrever uma mensagem no arquivo de caixa de correio de um colega sob~/.claude/teams/{team-name}/inboxes/, então o destinatário não recebeu nada. A escrita falha quando Claude Code não consegue criar ou atualizar o arquivo, por exemplo porque o disco está cheio, o diretório não é gravável, ou outro agente mantém o bloqueio da caixa de entrada por muito tempo. Antes da v2.1.224, Claude Code relatava a mensagem como enviada mesmo quando a escrita falhava.
O erro aparece no resultado da ferramenta do agente remetente em vez de como um banner em seu terminal, e seu texto diz ao Claude para tentar novamente:
Failed to write the <message> to <name>'s inbox — nothing was sent. O plan approval nessa lista é a decisão do líder aprovando o plano de um colega; a submissão de plano do colega é a mensagem separada plan approval request. Essa mensagem e duas outras mensagens de protocolo carregam seu próprio texto de mensagem e consequência:
Failed to write the plan approval request to the lead's inbox — plan not submitted; try again: o plano do colega nunca chegou ao líder, e o colega permanece em modo de planejamento até uma resubmissão bem-sucedidaThe permission request could not be delivered to the team lead (mailbox write failed): a solicitação de permissão do colega nunca chegou ao líder, então ninguém aprovou a chamada de ferramentaThe confirmation could not be written to team-lead's inbox.: a aprovação de encerramento em si entrou em vigor e o colega sai; apenas a confirmação para o líder está faltando
@name seguido pela mensagem na sessão de liderança, a mesma falha aparece como uma notificação, Couldn't write to @name's inbox — message not sent. Try again., e Claude Code mantém seu texto na caixa de prompt para que você possa enviá-lo novamente.
O que fazer:
- Peça ao remetente para reenviar a mensagem; contenção para o bloqueio da caixa de entrada é transitória e se resolve em uma nova tentativa
- Verifique espaço em disco livre, e verifique que
~/.claude/teamse os arquivos sob ele são graváveis pelo seu usuário
Definição de agente do colega não foi restaurada
Claude enviou uma mensagem a um colega de equipe de agentes parado, e Claude Code o trouxe de volta sem reaplicar a definição de subagente de que foi gerado. O aviso segue o relatório de retomada no resultado da ferramenta do agente remetente e nomeia a razão. Quando o arquivo de definição veio de uma pasta sem confiança salva, ele diz:.claude/agents/ do projeto ou de um diretório --add-dir, e aceitar o diálogo de confiança para uma pasta pai não a satisfaz.
O que fazer:
- Execute
claudena pasta que o log de debug nomeia e aceite o diálogo de confiança. A definição é reaplicada na próxima vez que Claude Code traz o colega de volta; você não precisa reiniciar a sessão de liderança - Ou defina a entrada
hasTrustDialogAcceptedparatrueem~/.claude.json, usando a chave exataprojects["<path>"]que o log de debug imprime
Mensagem muito grande para entrega entre sessões
A mensagem entre sessões do Claude para outra de suas sessões nesta máquina era muito longa para enviar. Claude Code a recusou, e a sessão receptora não recebeu nada. A recusa aparece no resultado da ferramenta da sessão remetente, não como um banner em seu terminal. Ela nomeia ambos os tamanhos e como fazer a mensagem caber:- Peça ao Claude para resumir a mensagem, ou para colocar o conteúdo em massa em um arquivo e enviar o caminho do arquivo
- Peça ao Claude para dividir o conteúdo em várias mensagens mais curtas
Muitas mensagens para essa sessão agora
Claude enviou uma rajada rápida de mensagens entre sessões para uma de suas sessões nesta máquina, e a rajada atingiu o que a caixa de entrada dessa sessão aceita. Claude Code recusou o próximo envio, e a sessão receptora não recebeu nada dele. A recusa aparece no resultado da ferramenta da sessão remetente, não como um banner em seu terminal:- Geralmente nada: Claude agrupa o conteúdo restante em uma mensagem, ou espera antes de enviar mais
- Se você mesmo disparou a rajada, peça ao Claude para combinar o que resta em uma única mensagem
Mensagem entre sessões foi descartada na caixa de entrada da sessão receptora
Claude enviou uma mensagem entre sessões para outra de suas sessões nesta máquina, e a caixa de entrada dessa sessão a descartou antes de Claude nessa sessão lê-la. A linha nomeia o destinatário e, quando o destinatário deu uma razão, adiciona a razão após um travessão:Cross-session messages (12) were dropped. Para encontrar a qual sessão um endereço pertence, compare-o com a linha Peer address que /status mostra em cada sessão.
Após o travessão, a linha dá uma ou mais dessas razões:
its queue of undelivered peer messages was full: o destinatário já mantinha tantas mensagens não entregues de outras sessões quanto sua fila permiteyou sent faster than that session accepts: as mensagens da sessão remetente chegaram mais rápido do que o destinatário aceita de um remetenteit repeated your previous message: a mensagem era idêntica a uma que a sessão remetente enviou a esse destinatário pouco antesa relay loop between sessions was cut: a mensagem continuava uma cadeia de sessões enviando mensagens umas às outras, e a cadeia tinha passado pelo destinatário muitas vezes ou crescido demais
- Assuma que o destinatário nunca viu as mensagens descartadas. Claude Code diz o mesmo ao Claude, e diz a ele para incluir qualquer coisa que ainda importe em uma mensagem posterior em vez de reenviar imediatamente
- Se suas sessões enviam umas às outras atualizações frequentes, peça ao Claude para enviar menos mensagens e maiores, como um relatório quando uma sessão termina seu trabalho
- Para
a relay loop between sessions was cut, digite você mesmo a próxima instrução em uma das sessões. Uma mensagem que Claude envia em resposta ao seu próprio prompt começa uma nova cadeia
Recusando enviar uma mensagem entre sessões
Antes de Claude Code escrever uma mensagem entre sessões para outra de suas sessões nesta máquina, ele verifica que o socket da caixa de entrada da sessão alvo é o endpoint para o qual a mensagem foi endereçada. Quando uma verificação falha, Claude Code recusa o envio na sessão remetente, e a sessão alvo não recebe nada. Para uma mensagem que Claude envia, a recusa aparece no resultado da ferramenta da sessão remetente:Refusing to send: nomeia a verificação que falhou:
reply target is a symlink: um link simbólico fica no caminho do socket da sessão alvo. Claude Code não entrega através dele, porque um link lá poderia redirecionar a mensagem para um endpoint que a sessão alvo não criou.cannot vet reply target: Claude Code não conseguiu inspecionar o caminho alvo de forma alguma, por exemplo porque lê-lo falhou com um erro de permissão.
- Geralmente nada: as verificações impedem que uma mensagem chegue a um endpoint diferente da sessão para a qual foi endereçada, e nada foi enviado
- Se
reply target is a symlinkse repete para uma sessão, verifique o que criou um link no caminho do socket dessa sessão, mostrado em seu/statussobPeer address
Recusando ler, escrever, ou pesquisar um caminho
Claude Code verifica as regras de permissão de um caminho de arquivo, então confirma essa resolução novamente quando a ferramenta abre o arquivo ou inicia a pesquisa. Quando não consegue confirmar que o caminho ainda leva ao local que a verificação aprovou, Claude Code recusa a operação em vez de segui-la. A recusa aparece no resultado da ferramenta:its symlink resolution changed after permission was checked: um symlink ao longo do caminho, ou em uma raiz de pesquisa Grep ou Glob, foi substituído entre a verificação de permissão e a operação. Em uma recusa de leitura, a frase entre parênteses nomeia qual comparação falhou.its parent-directory symlink resolution changed after permission was checked: um diretório pelo qual o caminho de escrita passa não se resolve mais para o local aprovadowhere it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve): Claude Code não conseguiu seguir o caminho até um local final no disco, por exemplo porque symlinks nele formam um loopit is a symbolic link. Write to the link's target path instead: um link simbólico fica no próprio local de escrita solicitado, por exemplo umCLAUDE.mdque é um symlink paraAGENTS.md; a mensagem direciona Claude para o alvo do linkRefusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.: a mesma condição capturada quando outro escritor abre o arquivo, como uma escrita em um.mcp.jsonque é um symlinkRefusing to write into symlinked directory: <path>: o diretório que contém o arquivo é em si um link simbólico, por exemplo o diretório.claude/de um projeto vinculado a outro locala path one of its Read deny rules is written through changed while the search was being prepared. Retry.: uma regra de negaçãoReadpara a pesquisa nomeia um caminho que passa através de um symlink, e esse link mudou enquanto Claude Code estava preparando a pesquisait could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.: a raiz de pesquisa existe mas não pôde ser aberta; o código entre parênteses é o erro do sistema operacionalits permission check expired before it ran (too many concurrent file operations). Retry.: Claude Code descartou o registro de aprovação sob muitas operações de arquivo simultâneas antes de a ferramenta usá-lo; tentar novamente executa uma nova verificação de permissãoripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration: Claude Code não conseguiu resolver o bináriorgpara um caminho absoluto, então recusa pesquisas fora do diretório de trabalho em vez de executar uma que suas regras de negação não cobrem
- Geralmente nada: a recusa chega ao Claude como o resultado da ferramenta, e a operação recusada não é executada
- Se uma recusa de symlink se repete em um caminho, encontre o que continua reescrevendo um link lá, como uma ferramenta de build ou observador de arquivos, ou peça ao Claude para usar o caminho resolvido do arquivo em vez do vinculado
- Se essa recusa aparece para cada arquivo enquanto Claude Code é executado no Windows dentro de um AppContainer ou sandbox de token restrito, atualize para v2.1.265 ou posterior
- Se uma recusa de leitura aparece em macOS para um arquivo que nada está reescrevendo, como uma captura de tela arrastada para o prompt, atualize para v2.1.273 ou posterior
- Para a recusa de ripgrep, instale ripgrep com seu gerenciador de pacotes para que
rgse resolva para um caminho absoluto emPATH, ou mantenha pesquisas sob o diretório de trabalho
where it leads on disk could not be determined não aparecia.
Troca de saída de tarefa recusada
Claude Code salva a saída de cada comando Bash em um arquivo sob seu diretório temporário. Toda vez que abre um desses arquivos, verifica que o caminho ainda leva ao arquivo que criou, sem link simbólico, link físico extra, ou diretório movido redirecionando-o. Essa mensagem significa que essa verificação falhou, então Claude Code recusou a operação em vez de escrever ou ler saída através desse caminho. A mensagem aparece no resultado da ferramenta Bash:output symlink was re-pointed, output file identity changed, e not a regular file todas relatam a mesma condição: algo no ou ao longo do caminho de saída não é mais o arquivo que Claude Code criou. Apenas algumas razões carregam uma frase To recover:.
Se a verificação falhar enquanto um comando ainda está em execução, Claude Code para o comando, e seu resultado relata:
- Atualize para v2.1.260 ou posterior. Versões anteriores às vezes mostravam essa mensagem quando nenhum link ou diretório movido estava presente
- Reinicie Claude Code com
CLAUDE_CODE_TMPDIRdefinido para um diretório novo - Ou verifique o diretório do seu projeto sob o diretório temporário do Claude Code,
/private/tmp/claude-501/-Users-you-my-projectna mensagem de exemplo. Se esse caminho é um link simbólico, ou um diretório que não deveria estar lá, remova o link ou diretório em si em vez do alvo do link, e reinicie Claude Code - Se a recusa se repete, um processo está substituindo, vinculando, ou removendo entradas sob o diretório temporário do Claude Code enquanto a sessão é executada. Defina
CLAUDE_CODE_TMPDIRpara um diretório que nada mais gerencia e reinicie
Cota de disco ou sistema de arquivos temporário está cheio
Claude Code salva a saída de cada comando Bash e PowerShell em um arquivo sob seu diretório temporário. Quando um comando sai com um código diferente de zero e nenhuma saída, Claude Code verifica se o sistema de arquivos que contém esse arquivo está sem espaço ou inodes, ou se sua cota de disco nele está esgotada. Se assim for, um diagnóstico aparece no resultado do comando no lugar da saída vazia:Your disk quota is full ... (EDQUOT): sua própria cota nesse sistema de arquivos está esgotada. Uma cota pode estar cheia enquanto o sistema de arquivos ainda mostra espaço livreThe filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC): o sistema de arquivos, ou sua cota nele, não tem mais espaçoCommand output was lost: the temp filesystem at ... is fullou... is out of inodes: o sistema de arquivos quase não tem espaço livre, ou está ficando sem inodes
- Delete arquivos que você não precisa mais no sistema de arquivos que contém o diretório temporário do Claude Code. Para
EDQUOT, delete arquivos que contam contra sua própria cota. Paraout of inodes, delete muitos arquivos em vez de alguns grandes, já que cada arquivo ocupa um inode qualquer que seja seu tamanho - Ou reinicie Claude Code com
CLAUDE_CODE_TMPDIRdefinido para um diretório em um sistema de arquivos com espaço - Então peça ao Claude para executar o comando novamente. A saída que ele imprimiu foi perdida, não truncada
File is not valid UTF-8
Claude usou a ferramenta Edit ou NotebookEdit em um arquivo cujos bytes não decodificam como UTF-8, e Claude Code recusou a alteração. Nada foi escrito, então o arquivo está como estava. Essas ferramentas salvam o arquivo inteiro de volta como UTF-8, o que teria transformado cada byte que não conseguissem decodificar no caractere de substituiçãoU+FFFD. A mensagem aparece no resultado da ferramenta:
- Para manter o arquivo em sua codificação atual, deixe Claude fazer a alteração com um comando de shell que lê e escreve o arquivo nessa codificação, como a mensagem diz a ele para fazer
- Para continuar editando o arquivo com a ferramenta Edit, converta-o para UTF-8, ou corrija os bytes inválidos em um arquivo que deveria ser UTF-8, e então peça ao Claude para fazer a edição novamente
U+FFFD. Nessas versões, atualize Claude Code.
O arquivo de origem não é texto UTF-8 válido
Claude tentou publicar um artefato de um arquivo cujos bytes não decodificam como texto, ou cujo texto já contém o caractere de substituiçãoU+FFFD, então Claude Code recusou a publicação antes de fazer upload de qualquer coisa. A mensagem aparece no resultado da ferramenta Artifact e nomeia a primeira posição a corrigir:
UTF-16 e ainda diz a você para reescrever o arquivo como UTF-8. Quando mais posições seguem a nomeada, a mensagem adiciona uma contagem como (+2 more) após a posição.
O que fazer:
- Geralmente nada: Claude reescreve o arquivo e publica novamente
- Se o arquivo é um que você escreveu ou exportou, salve-o novamente como UTF-8, e substitua cada
U+FFFDpelo caractere que uma edição, colagem, ou conversão anterior perdeu - Para mostrar um
U+FFFDintencional na página, escreva-o como�no HTML em vez do caractere literal
Não publicado: esse arquivo está em um compartilhamento de rede
Claude tentou publicar um artefato de um arquivo em um caminho que nomeia um host de rede:- No Windows, um caminho
\\server\shareque não está sob uma unidade de rede mapeada que você passou na inicialização com--add-dir - No macOS ou Linux, um caminho de automount como
/net/<host>/page.html
- Nada, se você não precisa desse arquivo exato: a mensagem diz ao Claude para publicar um arquivo das próprias pastas da sessão em vez disso
- Para publicar esse arquivo exato, copie-o para uma pasta em um disco local e peça novamente
- No Windows, para deixar Claude publicar diretamente do compartilhamento, mapeie-o para uma letra de unidade e passe a unidade quando iniciar Claude Code. No PowerShell, por exemplo, execute
net use Z: \\server\sharee depoisclaude --add-dir Z:\. Claude poderá então publicar arquivos dessa unidade. Adicionar a unidade no meio da sessão com/add-dirnão é suficiente. - No macOS ou Linux, monte o compartilhamento em um diretório, como um sob
/mntou/Volumes, e publique a partir desse caminho em vez do caminho de automount
Lendo um arquivo local de fora das pastas conectadas em uma sessão Cowork
Em uma sessão Cowork em execução em sua máquina no aplicativo Claude Desktop, Claude nomeou um arquivo local para um artefato. Claude Code não conseguiu confirmar que o arquivo é um arquivo simples dentro das pastas conectadas da sessão: o caminho fica fora dessas pastas, passa através de um link simbólico, ou é escrito de uma forma que pode nomear um arquivo diferente do que parece. Ler tal arquivo precisa de sua aprovação, e em uma sessão que não pode mostrar a você o cartão de aprovação, como uma configurada para pular todas as aprovações, Claude Code recusa a leitura. A recusa aparece no resultado da ferramenta Artifact; quando o arquivo não pôde ser examinado de forma alguma, ela nomeia essa falha em vez disso:- Geralmente nada: a mensagem diz ao Claude para usar um arquivo simples dentro das pastas conectadas em vez disso
- Para colocar esse arquivo exato no artefato, copie-o para uma das pastas conectadas da sessão como um arquivo regular, não um symlink, e peça novamente
WebFetch não consegue buscar localhost
Claude chamou WebFetch com uma URL cujo nome de host não tem ponto, comohttp://localhost:3000 ou um nome de intranet simples como http://wiki/. WebFetch recusa essas URLs antes de fazer qualquer requisição:
- Geralmente nada: a mensagem aponta Claude para
curlatravés da ferramenta Bash, que pode alcançar servidores locais e de intranet
Invalid URL.
Verificação de segurança de domínio WebFetch falhou
Antes de buscar uma URL, WebFetch envia o nome de host da URL paraapi.anthropic.com para verificá-lo contra a lista de bloqueio de segurança de domínio da Anthropic. Se a verificação não puder ser concluída, WebFetch não consegue confirmar que o domínio é seguro, então não busca a página e o resultado da ferramenta carrega uma dessas mensagens em vez disso:
rate-limited: o endpoint de verificação respondeu com HTTP429. A mensagem diz ao Claude para continuar sem a página e para tentar novamente no máximo uma vez depois. Claude Code não armazena em cache uma verificação que falhou, então uma busca posterior desse domínio executa a verificação novamente. Se sessões em sua rede atingem isso com frequência, você pode pular a verificação comskipWebFetchPreflight: trueem settings.Unable to verify: a requisição de verificação falhou, expirou, ou recebeu outro status de erro. Se sua rede bloqueiaapi.anthropic.com, adicione esse domínio à allowlist, ou pule a verificação comskipWebFetchPreflight: trueem settings.
The safety check for domain example.com is temporarily rate-limited (too many domain checks from this network). Retry after about a minute; retrying sooner will fail the same way..
Antes da v2.1.285, uma verificação atingida pelo rate limit era relatada com a mensagem Unable to verify em vez disso.
Erros de sessão em background
As sessões em background são executadas sem um terminal interativo próprio, portanto os comandos que precisam de um se comportam de forma diferente lá. Essas mensagens aparecem na transcrição de uma sessão em background, no terminal que se conecta a uma, na sessão ou shell de onde você a despacha, ou, para as entradas worktree-guard abaixo, em qualquer sessão isolada em um worktree ou executando um subagente isolado em worktree; quando uma mensagem é específica de uma superfície, sua entrada diz isso.Comandos recusados em uma sessão em background
Comandos que abrem um diálogo interativo não podem fazer isso enquanto nenhum terminal está conectado a uma sessão em background./install-github-app, a lista de configurações /mcp, e as ações de autenticação no menu do servidor MCP respondem com uma mensagem. Para /install-github-app e a lista de configurações /mcp, a sessão também aparece sob Needs input na agent view para que você possa encontrá-la, conectar e executar o comando novamente. Enquanto um terminal está conectado, esses comandos funcionam normalmente.
Antes da v2.1.216, a sessão não aparecia sob Needs input após /install-github-app ou a lista de configurações /mcp ser recusada. Na v2.1.213 até v2.1.215, os comandos ainda funcionavam enquanto um terminal estava conectado, e a mensagem de recusa dizia para você conectar e executar o comando novamente. De v2.1.208 até v2.1.212, Claude Code recusava-os mesmo enquanto um terminal estava conectado, com uma mensagem como Can't open MCP settings in a background session; nessas versões, execute o comando de uma sessão claude regular, ou atualize. Antes da v2.1.208, eles abriam seu diálogo dentro da sessão em background. Na v2.1.208 apenas, Claude Code também recusava o seletor /model em uma sessão em background, e /upgrade imprimia a URL de atualização em vez de abrir um navegador.
A redação nomeia o comando. A lista de configurações /mcp relata:
- Conecte à sessão a partir da agent view e execute o comando novamente
- Ou use o formulário que a mensagem nomeia, como
/mcp reconnect <server>,/mcp enable, ou/mcp disable, que funcionam sem conectar
Write ou command bloqueado porque o caminho não pode ser resolvido com segurança
Claude abordou um arquivo ou diretório de trabalho através de uma grafia que o worktree-isolation guard não consegue resolver para um local verificável. O guard verifica writes e diretórios de trabalho de comando em qualquer sessão isolada em um worktree, interativa ou background, e em subagentes isolados em worktree. Ele resolve symlinks antes de verificar que a operação não atinge o checkout compartilhado, e quando a resolução falha, ele bloqueia a operação em vez de deixá-la chegar lá. A mensagem nomeia as formas de caminho que recusa e como tentar novamente:re-run the command from its direct symlink-free path. Antes da v2.1.217, o guard comparava grafias de caminho sem resolver symlinks, portanto essas grafias não eram bloqueadas e um write roteado através de um symlink poderia chegar ao checkout compartilhado.
O que fazer:
- Geralmente nada: a mensagem completa vai para Claude como um erro de ferramenta, e Claude tenta novamente com o caminho direto que nomeia. Para um edit de arquivo bloqueado, a visualização de conversa mostra apenas uma linha curta
Error editing file; a mensagem completa aparece na visualização de transcrição, que você abre comCtrl+O. Um comando bloqueado a imprime em sua saída de comando. - Se o bloqueio se repetir no mesmo arquivo, o caminho provavelmente passa por um symlink incluído em um commit cujo alvo contém
.., comodocs/current -> ../README.md; peça a Claude para editar o arquivo de destino por seu caminho real em vez de através do link
Write ou command bloqueado porque o caminho nomeia um local de rede
Claude abordou um arquivo ou diretório de trabalho através de um caminho que nomeia uma unidade que não está em sua máquina, um compartilhamento UNC como\\server\share\file ou um caminho de automontagem /net, enquanto o checkout da sessão está em um disco local. O mesmo worktree-isolation guard não consegue verificar que tal caminho fica fora do checkout compartilhado, portanto bloqueia a operação. Isolar a sessão em um worktree não levanta o bloqueio. A mensagem nomeia a forma de caminho a usar em vez disso:
re-run the command from its local, plainly-spelled path. Antes da v2.1.217, o guard comparava apenas texto de caminho, portanto endereçar um arquivo dentro do checkout através de um caminho UNC ou /net não era bloqueado.
O que fazer:
- Geralmente nada: Claude tenta novamente com a grafia local que a mensagem pede
Comando bloqueado pelas verificações de isolamento de worktree
Claude executou um comando Bash, PowerShell ou Monitor em uma sessão isolada em um worktree, e Claude Code recusou-o por uma destas razões:- O comando seria executado no checkout principal ou em outro worktree. A mensagem diz que seu diretório de trabalho
resolved to the shared checkoutouis in a different worktree. - Um comando Bash ou Monitor aponta git para o checkout principal.
- Claude Code não consegue verificar a partir do texto de um comando Bash ou Monitor que qualquer git que o comando executa fica dentro do worktree. Um comando que nunca nomeia git ainda pode ser recusado por essa razão, porque expandir uma indireção de variável como
${!name}ou executar uma substituição de função Bash como${ command; }produz um valor em tempo de execução que pode ser um comando em si.
is isolated in the worktree <path>, but this command, seguido pela razão, como um comando cujo texto Claude Code não conseguiu verificar:
- Git apontado para o checkout principal, ou texto de comando que não pode ser verificado: nada. Claude lê a mensagem e reescreve o comando da forma que sua sentença final pede. Se um comando que você pediu continua sendo recusado por causa de uma expansão em seu texto, escreva o valor sinalizado literalmente e execute git como seu próprio comando simples de dentro do worktree
- Para agir no checkout principal propositalmente, execute o comando você mesmo em um terminal fora da sessão
Esta sessão não tem transcrição salva
Você se conectou a uma sessão que você moveu para background com← ou /background e que parou antes de executar um turno próprio. Claude Code não conseguiu encontrar a conversa de onde você a moveu, portanto a sessão não tem nada para retomar. A mensagem termina com o comando claude respawn para esta sessão:
Press enter again to restart this session fresh abaixo da lista em vez disso, e um segundo Enter na linha reinicia a sessão com uma conversa vazia.
O que fazer:
- Para iniciar a sessão parada do zero, execute
claude respawn <id>com o ID da mensagem, ou pressioneEnterduas vezes na sua linha na agent view - Se a sessão terminou uma resposta e você ainda vê essa recusa em uma versão anterior à v2.1.214, uma pasta ilegível em
~/.claude/projectspoderia fazer a varredura de transcrição perder a conversa salva; atualize para v2.1.214 ou posterior, que tolera pastas ilegíveis durante a varredura
Esta sessão está sendo executada em outro terminal
Você abriu a linha de uma sessão parada na agent view, e sua conversa salva já está aberta em outro processo Claude Code ao vivo nesta máquina, portanto Claude Code recusa iniciar um segundo processo que escreveria na mesma transcrição. Qual mensagem você vê depende de o que mantém a conversa:running in another terminal: um terminal mantém a conversa, por exemplo um onde você a retomou comclaude --resumeou/resume. A linha também mostraOpen in a terminal.already open in another running Claude session: outro processo Claude Code não interativo a mantém, por exemplo um processo de sessão em background para a mesma conversa que ainda não saiu.
- Continue a conversa no processo que a tem aberta, ou saia desse processo e abra a linha novamente
already open in another running Claude session existia: uma conversa retomada em um terminal não contava como aberta, e abrir a linha iniciava um segundo processo Claude Code escrevendo na mesma conversa.
A conversa salva desta sessão não está mais no disco
Você abriu uma sessão em background que terminou enquanto o serviço em background estava desligado, e limpeza de transcrição desde então removeu sua conversa salva, por exemplo após a máquina estar desligada por semanas. Abrir tal linha normalmente retoma sua conversa salva. Sem nada para retomar, Claude Code recusa em vez de re-executar o prompt original da sessão sem perguntar:claude attach <id> imprime este texto. Na agent view, o rodapé é mais curto e termina com ctrl+x deletes the row.
O que fazer:
- Execute
claude rm <id>para deletar a linha. Quando um dos casos mantidos se aplica,claude rmmantém a linha e o worktree em vez disso e nomeia a razão - Para executar o prompt original da sessão novamente como uma conversa fresca, execute
claude respawn <id>
Worktree tem commits que não foram enviados para lugar nenhum
Você tentou deletar uma sessão em background cujo worktree contém commits que Claude Code não consegue confirmar que estão salvos em outro lugar. Claude Code mantém o worktree e a linha de sessão em vez de destruir os commits sem vê-los.claude rm nomeia o branch e os commits não enviados, e diz como proceder:
The worktree has unpushed commits em vez disso. Na agent view, a linha da sessão mostra not deleted com a mesma razão.
Commits em um remote não bloqueiam o delete. Nem commits na cópia local do branch padrão do seu remote origin, desde que esse branch esteja em checkout no seu checkout principal, o diretório do repositório em si em vez de um worktree.
O que fazer:
- Para manter os commits, envie o branch do worktree, ou mescle-o no branch padrão em checkout no seu checkout principal, depois delete a sessão novamente
- Para descartar os commits, execute o comando
claude rm <id> --discard-unpushedque a mensagem imprimiu, ou pressioneCtrl+Xduas vezes na linha da sessão na agent view novamente. Isso remove a sessão e o worktree junto com seu branch, os commits não enviados, e quaisquer mudanças sem commit. Se o worktree ganhou um commit desde a recusa, Claude Code o mantém novamente e mostra o estado atualizado - Quando a mensagem diz que o worktree também é registrado por outra sessão terminada, deletar novamente não o descarta: envie os commits, depois delete a sessão novamente
claude rm colocava o resumo de commit na linha kept em si. Quando claude rm não conseguia resumir os commits, a linha kept lia worktree has commits that are not pushed anywhere no lugar do resumo.
Antes da v2.1.260, a mensagem não nomeava o branch ou os commits, e deletar novamente era recusado da mesma forma: deletar a sessão sem enviar significava remover o worktree você mesmo com git worktree remove --force <path>, depois executar claude rm <id> novamente.
Antes da v2.1.248, o branch padrão em checkout no seu checkout principal não contava: um branch que você já tinha mesclado lá ainda acionava essa recusa até seus commits chegarem a um remote.
Processo host do terminal morreu
Cada terminal de sessão em background é executado em um processo host sob o serviço em background, e esse processo morreu enquanto o serviço ainda mantinha sua conexão, portanto a sessão não pôde ser alcançada. No Linux e WSL, o serviço em background verifica cada processo host a cada poucos segundos, marca a sessão como falha quando o processo saiu mas sua conexão com o serviço nunca fechou, e mostra a razão em sua linha na agent view:claude attach <id> reinicia uma sessão já marcada como falha por um host morto, e caso contrário imprime a causa e sai:
terminal host process died — its output is gone; the command was not run again, e claude attach imprime This command's terminal host process died — its output is gone and the command was not run again. Claude Code nunca re-executa o comando para você.
O que fazer:
- Na agent view, pressione
Enterna linha falha; a sessão reinicia em um novo processo host e a conversa retoma - Do shell, execute
claude attach <id>novamente. Claude Code imprimeSession <id>'s terminal host died — restarting it on a fresh one…e reabre a sessão - Você não consegue reiniciar uma linha de comando shell dessa forma; despache o comando novamente para re-executá-lo
opening… · esc to cancel indefinidamente e claude attach <id> esperava sem relatar um erro.
Sessão não está respondendo
Você abriu uma sessão em background e o serviço em background aceitou a abertura, mas nenhuma saída chegou por cerca de dez segundos, portanto Claude Code conclui que o processo retransmitindo o terminal da sessão não consegue entregar saída, e encerra a tentativa em vez de esperar. Na agent view, Claude Code oferece um reinício no rodapé:claude attach <id> imprime a causa e sai:
- Na agent view, pressione
Enterna mesma linha novamente. Claude Code para o processo que não responde e reinicia a sessão, e a conversa retoma. Nada é parado sem esse segundo pressionamento - Do shell, execute
claude stop <id>, depoisclaude attach <id> - Para uma linha de comando shell, pressione
Ctrl+Xna agent view ou executeclaude stop <id>para pará-la; despache o comando novamente para re-executá-lo
Sessão foi parada enquanto o respawn estava em voo
Você abriu uma sessão em background cujo processo não estava em execução, e enquanto Claude Code estava reiniciando-a, outro processo Claude Code a parou, por exemploclaude stop em outro terminal. Claude Code mantém a sessão parada:
- Se você não parou a sessão, abra sua linha novamente na agent view ou execute
claude respawn <id>para reiniciá-la - Se você a parou você mesmo, nada permanece a fazer: a sessão fica parada
Agente de sessão não está mais disponível
Você retomou uma sessão que estava executando um agente customizado, iniciado com--agent ou a configuração agent, e Claude Code não encontrou um agente com esse nome. Ele procura no diretório original da sessão primeiro, quando você confiou naquele workspace, depois no diretório de onde você retoma. A sessão ainda retoma, mas com as ferramentas padrão, portanto as restrições de ferramenta do agente não se aplicam mais:
/resume ou claude --resume, ou retomar em modo não interativo, onde também vai para stderr. Sessões usando --input-format stream-json não o mostram, porque o Agent SDK fornece agentes após a inicialização.
Claude Code não salva o fallback na sessão, portanto o aviso se repete em cada retomada até você agir. O agente claude integrado não aciona o aviso, já que fazer fallback para o conjunto de ferramentas padrão não muda nada para ele. Antes da v2.1.216, Claude Code silenciosamente continuava como o agente padrão, e a busca cobria apenas o diretório de onde você retomava, portanto um agente com escopo de projeto era perdido em qualquer retomada de outro diretório.
O que fazer:
- Re-crie o arquivo de agente em
.claude/agents/<name>.mdno projeto da sessão, ou em~/.claude/agents/<name>.mdpara um agente pessoal, depois retome novamente - Ou retome com
--agent <name>nomeando um agente que existe, para executar a sessão como esse agente em vez disso - Se o agente tem escopo de projeto e você não confiou no diretório original da sessão, execute Claude Code lá uma vez, aceite o diálogo de confiança, depois retome novamente
Esta sessão reiniciou depois que seu próximo despertar do /loop estava previsto
Um/loop autorregulado em uma sessão em background parou. O processo da sessão terminou enquanto o loop estava esperando seu próximo despertar, e esse despertar venceu antes que o próximo processo da sessão iniciasse. O despertar perdido não dispara com atraso. O aviso diz quão atrasado o despertar estava quando a sessão reiniciou:
- Para continuar o loop, responda à sessão e diga isso, como
keep the loop running. Claude lê o aviso com sua resposta e pode agendar o próximo despertar - Se você terminou com o loop, não faça nada. Ele já parou
Erros do launcher CLAUDE_CODE_PROCESS_WRAPPER
CLAUDE_CODE_PROCESS_WRAPPER está definido, e seu valor não pode ser usado, portanto Claude Code recusa iniciar o processo afetado em vez de executá-lo sem o launcher. Problemas de configuração são relatados com uma mensagem que começa com o nome da variável e declara a razão, por exemplo:
must exec, not daemonize, seguido por qualquer coisa que o launcher imprimiu. Uma sessão que não consegue iniciar ou alcançar o serviço em background por causa do launcher relata o problema do launcher como a razão dentro de Couldn't reach the background service (...).
O que fazer:
- Defina a variável para o caminho absoluto de um executável que termina chamando
exec "$@". Veja o contrato do launcher para o contrato completo - Verifique
/status, que mostra o comando de inicialização resolvido em sua entrada Self-exec e avisa quando o serviço em background em execução não corresponde a ele, ou executeclaude daemon statusde um shell - Após corrigir o valor no bloco
envde settings, reinicie o serviço em background comclaude daemon stop --anypara que o próximo despacho inicie um envolvido
EUNKNOWN ao iniciar uma sessão em background
Windows recusou iniciar um programa com um código de erro que não tem nome padrão, portanto a falha aparece comoEUNKNOWN. O gatilho usual é uma política de restrição de software, como Group Policy ou AppLocker, bloqueando o programa sendo iniciado. O erro aparece quando você inicia uma sessão em background com /background ou claude --bg:
daemon no lugar de background service.
Em uma instalação npm, um EUNKNOWN que aparece enquanto npm install -g @anthropic-ai/claude-code está substituindo o binário tem a mesma causa que EACCES durante uma reinstalação e limpa quando você tenta novamente após a instalação terminar.
Claude Code inicia o serviço em background através do PowerShell para que o serviço sobreviva ao fechamento do terminal, usando PowerShell 7 quando está instalado e Windows PowerShell 5.1 caso contrário. Quando nenhum PowerShell consegue executar, Claude Code inicia o serviço diretamente em vez disso, portanto uma política que bloqueia apenas PowerShell não causa esse erro.
Antes da v2.1.212, Claude Code usava apenas Windows PowerShell 5.1 para iniciar o serviço, portanto qualquer máquina onde Group Policy bloqueava PowerShell 5.1 falhava com Couldn't start the session — EUNKNOWN: unknown error, uv_spawn, mesmo com PowerShell 7 instalado.
O que fazer:
- Se a mensagem lê
Couldn't start the session, atualize para v2.1.212 ou posterior. Em versões anteriores você também pode executarclaude daemon runem um terminal separado primeiro, depois iniciar a sessão em background novamente. Esse comando executa o serviço em background no primeiro plano do terminal, portanto o serviço dura apenas enquanto esse terminal fica aberto. - Se uma instalação npm estava substituindo o binário, espere por ela terminar, depois inicie a sessão em background novamente
- Se o erro aparece em v2.1.212 ou posterior enquanto nenhuma instalação npm está em execução, verifique com seu administrador Windows se uma política de restrição bloqueia o executável Claude Code
- Se o serviço em background para quando você fecha o terminal, Claude Code o iniciou sem PowerShell. Instale PowerShell 7, ou peça ao seu administrador para desbloquear PowerShell, para que o serviço possa sobreviver ao terminal.
EACCES ao iniciar uma sessão em background
Claude Code não conseguiu executar seu próprio binário para iniciar o serviço em background que hospeda sessões em background. Em uma instalação npm, isso geralmente significa quenpm install -g @anthropic-ai/claude-code estava substituindo o binário naquele momento, se você o executou ou o auto-updater fez. O erro aparece quando você abre uma sessão da agent view:
/background ou claude --bg, a mesma razão aparece dentro de Couldn't reach the background service (...). Durante a mesma janela de reinstalação o erro pode nomear outro código em vez disso, como ENOENT ou ENOEXEC, ou EUNKNOWN ou EPERM no Windows; um EUNKNOWN que persiste através de tentativas tem uma causa diferente.
Em uma instalação npm, Claude Code espera a reinstalação terminar e tenta novamente por conta própria: até dez segundos, e até dois minutos enquanto uma instalação npm de Claude Code está visivelmente ainda em execução na máquina, o que cobre outro processo Claude Code baixando uma atualização. Quando a instalação dura mais que essa espera, a falha nomeia a atualização em vez do código de erro simples:
- Espere alguns segundos, depois abra a sessão ou despache novamente. Quando a mensagem diz que Claude Code está sendo atualizado, tente novamente após a atualização terminar.
- Se o erro persiste enquanto nenhuma instalação npm está em execução, seu usuário não consegue executar o binário instalado. Verifique suas permissões e as de seu diretório, ou reinstale Claude Code.
Serviço em background saiu antes de se tornar alcançável
O processo que Claude Code iniciou como o serviço em background saiu antes de aceitar conexões, portanto Claude Code não conseguiu abrir sua sessão. Quando o serviço imprimiu um erro antes de sair, a razão entre parênteses dá o código de saída ou sinal e a primeira linha que o serviço imprimiu, que nomeia o que o parou:Couldn't start the background service —. Quando o serviço não imprimiu nada antes de sair, a mensagem diz nothing on stderr em vez disso.
Claude Code relata a falha com a linha de erro do serviço. Antes da v2.1.246, a falha aparecia apenas após uma espera de 45 segundos, como background service did not become reachable within 45s, sem a linha de erro do serviço.
Duas razões citadas têm causas conhecidas:
Error: claude native binary not installed.: uma instalação npm estava substituindo o binário Claude Code naquele momento, portanto o serviço executou o placeholder do npm em vez disso. Tente novamente após a instalação terminar; se a linha persiste sem nenhuma instalação em execução, complete a instalação npm. Antes da v2.1.257, uma auto-atualização npm do macOS produzia essa falha em cada início durante a janela de instalação.nothing on stderrcom código de saída 1, em cada início, no Windows:daemon.locknomeia um processo que Claude Code não consegue sinalizar nem provar que se foi, portanto cada novo serviço conclui que outro mantém o lock e sai. Um lock cujo escritor Claude Code consegue provar que se foi é substituído por conta própria e não produz essa falha. Quando a falha se repete em cada início, delete~/.claude/daemon.lock, depois abra a sessão ou despache novamente. Antes da v2.1.257, tal lock bloqueava cada início até você deletar o arquivo.
- Se a mensagem cita uma linha, corrija o que ela nomeia, depois abra a sessão ou despache novamente. A próxima tentativa inicia o serviço novamente
- Execute
claude daemon statuspara verificar se um serviço está em execução agora
Diretório de trabalho não existe mais ao iniciar uma sessão em background
O diretório em que você iniciou uma sessão em background foi removido enquanto a sessão estava iniciando. Claude Code não inicia a sessão, e a mensagem nomeia o diretório faltante:could not be resolved on disk.
O que fazer:
- Recrie o diretório que a mensagem nomeia, ou despache de um diretório que existe, depois tente novamente
Workspace não confiável ao despachar uma sessão em background
Você iniciou ou reiniciou uma sessão em background em um diretório que você não confiou, e o diálogo de confiança de workspace não conseguiu aparecer para perguntar. Claude Code não inicia a sessão:The home directory is trusted one session at a time: o diretório da sessão é seu diretório home. Claude Code nunca salva confiança para o diretório home, portanto aceitar o diálogo lá em uma sessão anterior não conta.<path> could not be resolved on disk: Claude Code não conseguiu encontrar o diretório da sessão no disco.
- Execute
claudeno diretório que a mensagem nomeia e aceite o diálogo de confiança, depois execute o comando novamente - Para a mensagem de diretório home, execute o comando de um terminal no seu diretório home para que o diálogo possa aparecer, ou inicie a sessão de um diretório de projeto em vez disso
- Para a mensagem
could not be resolved on disk, recrie o diretório, ou inicie uma nova sessão de um diretório que existe
Erros de wrapper e IDE
Esses erros vêm do programa que iniciou o Claude Code para você, como uma extensão de IDE ou uma aplicação Agent SDK, em vez de virem do próprio Claude Code.Claude Code process exited with code N
O processoclaude subjacente saiu com um código diferente de zero. O código de saída por si só não diz o que falhou: o erro real está na saída do próprio processo, que o wrapper anexa quando capturou alguma coisa e caso contrário mantém em seus logs.
4294967295 logo após um turno ser concluído. Quando essa saída ocorre em um limite de turno, sem mensagem aguardando e sem tarefa em segundo plano em execução, a extensão VS Code fecha a sessão silenciosamente em vez de mostrar esse erro. Sua próxima mensagem retoma a conversa.
Antes da v2.1.273, a extensão mostrava o erro para essa saída em cada limite de turno, mesmo que nada fosse perdido.
O que fazer:
- No VS Code, siga o link View output logs mostrado com o erro para ver a falha subjacente
- Em uma aplicação Agent SDK, capture o erro em torno de seu loop de mensagens. As entradas em CLI process exit cobrem o que seu código recebe em cada linguagem SDK.
- Execute
claudeem um terminal no mesmo projeto. A falha geralmente se reproduz lá com sua mensagem de erro real, que você pode então procurar nesta página. - Execute
claude doctorem um terminal para verificar a instalação e configuração
Could not locate the Claude CLI on PATH
A extensão VS Code mostra esse erro no Windows quando você abre Claude Code no terminal integrado, o shell do terminal é PowerShell e a extensão não consegue encontrar o executávelclaude instalado no PATH. A extensão se recusa a iniciar Claude Code até encontrar o claude instalado no PATH.
- Abra uma nova janela PowerShell fora do VS Code e execute
where.exe claude. Se não imprimir um caminho, a CLI não está no seu PATH: adicione seu diretório de instalação seguindo Verify your PATH. Se imprimir um caminho, a entrada vem de seu perfil PowerShell ou de uma mudança de PATH que o VS Code ainda não captou; os próximos dois passos cobrem esses casos. - Defina a entrada PATH como uma variável de ambiente de usuário ou sistema, não em seu perfil PowerShell. A extensão não executa seu perfil, portanto uma edição de PATH que existe apenas lá nunca a alcança.
- Reinicie o VS Code após alterar PATH. A extensão verifica o PATH que o VS Code capturou na inicialização, portanto uma mudança de PATH entra em vigor apenas após uma reinicialização.
The connection to Claude Code ended before this message completed
A extensão VS Code enviou sua mensagem para o processoclaude, e a conexão terminou sem um erro antes do processo reconhecer ou concluir. A extensão não consegue dizer se a mensagem foi processada, portanto pede que você a envie novamente:
- Envie a mensagem novamente. A próxima mensagem inicia um novo processo
claudeque retoma a conversa. - Se se repetir, execute
claudeem um terminal no mesmo projeto. Uma falha que continua encerrando o processo geralmente se reproduz lá com sua mensagem de erro real.
Avisos e erros de Rewind
Estas mensagens vêm de uma restauração de código/rewind. Restored the code, but skipped N files é um aviso de que Claude Code pulou alguns caminhos. No files were restored é um erro que significa que nada foi restaurado.
Restored the code, but skipped files
Uma restauração de código/rewind pulou um ou mais caminhos rastreados em vez de escrever ou deletar através deles. Claude Code pula um caminho quando:
- é, ou se tornou, um symlink, hard link ou outro arquivo não-regular
- seu diretório mudou desde o checkpoint
- seu backup não pode ser lido com segurança
/rewind escrevia e deletava através de links em caminhos rastreados e não relatava uma restauração parcial.
- Identifique quais arquivos foram pulados para que você possa lidar com cada um com as etapas abaixo. A mensagem fornece apenas uma contagem; o log de debug em
~/.claude/debug/<session-id>.txtnomeia cada caminho pulado conforme a restauração é executada, então ative o log de debug com/debugantes de sua próxima restauração. No macOS ou Linux, você pode encontrar os links diretamente:find . -type lpara symlinks efind . -type f -links +1para arquivos hard-linked. - Se um arquivo pulado é um link que você criou propositalmente, como um arquivo de configuração gerenciado por um gerenciador de dotfiles ou um arquivo hard-linked por ferramentas como pnpm, o rewind deixou seu conteúdo intacto. Para desfazer as alterações da sessão nele, peça a Claude para reverter a edição ou edite o arquivo você mesmo
- Se você não criou o link, inspecione o caminho antes de confiar em seu conteúdo
No files were restored
Claude Code mostra esta mensagem quando você restaura código com/rewind e não consegue restaurar nenhum dos arquivos naquele checkpoint. Para cada arquivo, ou o backup que Claude Code salvou antes de editá-lo está faltando, ou Claude Code não conseguiu escrever ou deletar o arquivo.
/rewind ainda lista seus checkpoints, mas reverter para um deles pode falhar com este erro. Se a mensagem também disser N paths were skipped for link safety, veja Restored the code, but skipped files para esses caminhos.
Quando você faz fork de uma sessão, por exemplo com --fork-session ou /branch, Claude Code copia os backups da sessão original para o fork. Quando Claude Code não consegue copiar um backup, por exemplo porque o disco está cheio, esse backup está faltando no fork. Reverter para um checkpoint que precisa dele pode falhar com este erro.
O que fazer:
- Desfaça as alterações de outra forma: peça a Claude para reverter suas edições ou restaure os arquivos do controle de versão. Quando os backups se foram, executar
/rewindnovamente falha da mesma forma. - Se Claude Code não conseguiu escrever ou deletar um arquivo, corrija o que bloqueia a escrita, como permissões de arquivo, então execute
/rewindnovamente. - Para manter backups por mais tempo em futuras sessões, aumente
cleanupPeriodDays.
Avisos de salvamento de sessão
Claude Code mostra estes avisos em uma linha persistente abaixo da caixa de entrada quando não está salvando sua transcrição de sessão. A sessão continua funcionando de qualquer forma; os avisos informam que a sessão pode estar faltando em--resume mais tarde.
Falhas nas gravações de transcrição
Claude Code salva a transcrição em disco conforme você trabalha, e suas gravações no arquivo de transcrição estão falhando. A mensagem nomeia a causa com o código de erro subjacente, por exemplo um disco cheio:- Na primeira falha para condições que não se limpam por conta própria: um disco cheio, uma cota de disco excedida, um sistema de arquivos somente leitura, um caminho acima do limite de comprimento do sistema de arquivos, ou, em macOS e Linux, um erro de permissão
- Após falhas repetidas abrangendo pelo menos um minuto para tudo mais, incluindo erros de permissão no Windows, onde uma verificação de antivírus pode falhar em uma única gravação que depois é bem-sucedida na tentativa novamente
--resume posterior faltando mensagens recentes era o primeiro sinal.
O que fazer:
- Corrija a condição que o código de erro nomeia: libere espaço em disco para
ENOSPC; aumente ou limpe a cota paraEDQUOT; restaure o acesso de escrita para o local da transcrição paraEACCES,EPERM, ouEROFS - O aviso se limpa por conta própria na próxima gravação bem-sucedida; nenhuma reinicialização é necessária
- Mensagens enviadas enquanto o aviso estava sendo exibido ainda podem estar faltando quando você retomar a sessão mais tarde
Salvamento de transcrição está desativado porque CLAUDE_CODE_SKIP_PROMPT_HISTORY está definido
Esta sessão começou comCLAUDE_CODE_SKIP_PROMPT_HISTORY definido, então Claude Code não escreve nenhuma transcrição ou histórico de prompt para ela:
- Se você definiu a variável propositalmente, nenhuma ação é necessária; o aviso confirma que a sessão não aparecerá em
--resume,--continue, ou histórico de seta para cima - Se você não fez, remova a variável do shell ou script que inicia
claude, depois inicie uma nova sessão. Mensagens da sessão atual não são salvas retroativamente.
Salvamento de transcrição está desativado por causa de um marcador CLAUDE_CODE_CHILD_SESSION herdado
Claude Code defineCLAUDE_CODE_CHILD_SESSION nos subprocessos que ele gera, e trata uma sessão interativa que o herda como aninhada: Claude Code não salva nenhuma transcrição para ela, então sessões que o próprio Claude inicia não preenchem sua lista de --resume. Este aviso significa que sua sessão atual herdou o marcador:
claude de dentro de outra sessão de Claude Code; ele sinaliza uma classificação incorreta quando o marcador vazou através de um intermediário de longa duração, por exemplo um terminal, sessão screen, ou inicializador que uma sessão de Claude Code originalmente iniciou.
Dentro do tmux, Claude Code detecta um marcador que chegou através do ambiente global do servidor tmux e continua salvando, então este aviso não aparece para esse caso.
O que fazer:
- Se você iniciou esta sessão de dentro de outra sessão de Claude Code propositalmente, nenhuma ação é necessária
- Se esta é uma sessão de nível superior, saia e reinicie com
CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1definido. O salvamento se aplica a partir da reinicialização, então mensagens enviadas antes dela não são salvas. - Para corrigir futuras inicializações do mesmo terminal ou inicializador, remova
CLAUDE_CODE_CHILD_SESSIONde seu ambiente
Avisos de configuração
Claude Code escreve a maioria dessas mensagens em stderr, não na conversa, e escreve a maioria delas na inicialização. Uma entrada diz assim quando sua mensagem aparece em outro lugar, como no log de depuração ou como um aviso de inicialização na visualização de conversa, ou em outro momento, como a linha de diagnóstico de modelo não reconhecido no momento da solicitação.Claude Code saiu após um erro de interface irrecuperável
Claude Code imprime esta mensagem quando sai porque sua interface de terminal atingiu um erro do qual não pode se recuperar, em qualquer renderizador. A segunda frase aparece apenas quando o erro aconteceu enquanto o renderizador de tela cheia estava iniciando:- Inicie Claude Code novamente. Para retomar a conversa, execute
claude --resumeno mesmo diretório. - Se a mensagem nomear o renderizador de tela cheia, Renderização de tela cheia diz o que o próximo lançamento faz, o que depende de como você ativou tela cheia e como tentar tela cheia novamente ou manter o renderizador clássico.
As descrições do agente excedem o limite de 15.0k tokens
Claude Code mostra este aviso como um aviso de inicialização na visualização de conversa em vez de em stderr. As descrições combinadas de seus subagentes, exceto os integrados, excedem 15.000 tokens conforme Claude Code as estima. Cada agente conta seu nome mais seu frontmatterdescription. Claude Code carrega cada agente independentemente de o total estar acima do limite, então o aviso não muda o que é carregado.
- Encurte o frontmatter
descriptionde seus arquivos de agente, ou peça a Claude para aparar para você. - Remova arquivos de agente que você não usa mais.
Hook precisa de aspas em torno de um caminho com espaço
Esta notificação na visualização de conversa significa que o script de um hook não foi executado porque seu caminho tem um espaço e não está entre aspas. Esse hook é um hookasyncRewake em forma de shell. Em seu command, um interpretador como python3 é seguido por um placeholder de caminho sem aspas, e o caminho resolvido contém um espaço.
A notificação começa com o nome do evento do hook e nomeia o script:
- No
commanddo hook que executa o script que a notificação nomeia, coloque o caminho entre aspas duplas. Em um arquivo JSON, escreva-o como"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\"".
Uma skill, comando ou workflow não foi carregado porque seu nome é reservado
Uma pasta de skill, um frontmattername, um arquivo ou subpasta em .claude/commands/, ou um workflow salvo usa o nome anthropic-skills ou um nome que começa com anthropic-skills:. Claude Code reserva esse nome para skills sincronizadas de claude.ai e não carrega esse item.
Claude Code mostra este aviso como um aviso de inicialização na visualização de conversa em vez de em stderr:
name: para editar, ou um workflow para renomear. Quando mais de um item foi recusado, o aviso termina com uma contagem como · 2 more, e o log de depuração nomeia cada um.
O que fazer:
- Renomeie o item que o aviso nomeia, ou edite a linha
name:para a qual aponta, depois reinicie a sessão.
Nome de skill ou comando recusado
Este aviso de inicialização significa que Claude Code recusou o nome de pelo menos uma skill ou comando personalizado, então ela não foi carregada ou foi carregada sem seu camponame:
- Não carregada: Claude Code recusou o nome pelo qual uma skill ou comando é conhecido, como o nome do seu diretório ou o nome ou subpasta de um arquivo de comando. Ela não aparece no menu
/e Claude não pode invocá-la. Sua linha no log de depuração diz<name> is not offered. - Campo
nameignorado: Claude Code recusou onamedo frontmatter de uma skill. A skill ainda é carregada, mas o menu/não mostra o valor denamee digitá-lo não invoca a skill. Sua linha no log de depuração diz<name value> is not shown for <skill>.
- Inicie Claude Code com
claude --debuga partir do seu shell e pesquise[names]no log de depuração. Cada nome que o aviso conta tem uma linha lá. A linha escreve alguns caracteres ocultos como códigos, como\u{200B}para um espaço de largura zero, para que você possa ver onde estão. - Remova os caracteres que um nome de skill não pode conter renomeando a pasta ou o arquivo ou editando a linha
name:, ou encurte um nome com mais de 256 caracteres. Depois reinicie a sessão, a menos que o arquivo esteja em um diretório que Claude Code monitora quanto a alterações. Para uma skill de um plugin que você não escreveu, peça ao autor do plugin para renomeá-la.
O espaço de trabalho não foi confiável
Claude Code encontrou regraspermissions.allow ou entradas permissions.additionalDirectories no .claude/settings.json ou .claude/settings.local.json do projeto e não as aplicou, porque as regras de permissão do projeto requerem confiança do espaço de trabalho. A contagem, o nome da configuração e o arquivo nomeado na mensagem variam com sua configuração. As regras deny e ask não são afetadas.
- Execute
claudeno diretório e aceite a caixa de diálogo de confiança. Regras de permissão do projeto e confiança do espaço de trabalho diz qual pasta essa aceitação cobre. - No modo não interativo com
-p, nenhuma caixa de diálogo é mostrada. Defina a entradahasTrustDialogAcceptedem~/.claude.jsonusando a chaveprojectsexata que a mensagem imprime. - Se a mensagem nomear
.claude/settings.local.jsone você iniciou Claude Code fora de um repositório git ou em seu diretório inicial, atualize para v2.1.200 ou posterior. As versões 2.1.196 a 2.1.199 tratavam seu próprio.claude/settings.local.jsoncomo fornecido pelo repositório nesses espaços de trabalho. Na v2.1.207 e posterior, atualizar não é suficiente fora de um repositório git se você não confiou na pasta: determinar que uma pasta não está dentro de um repositório executa git, e Claude Code executa essa verificação apenas depois que você aceita a caixa de diálogo de confiança, então use a primeira etapa. Seu diretório inicial e qualquer outro diretório inicial de configuração estão isentos e não esperam pela caixa de diálogo. Consulte Regras de permissão do projeto e confiança do espaço de trabalho.
O diretório de trabalho é um caminho de rede
Claude Code não adiciona caminhos de rede como diretórios de trabalho. Procurar um caminho de rede pode entrar em contato com o host que ele nomeia, e no Windows esse contato pode enviar suas credenciais ao host, então Claude Code recusa o caminho sem procurá-lo. Você vê esta mensagem quando executa/add-dir com tal caminho, ou como um aviso na inicialização. Quando aparece na inicialização, Claude Code inicia sem esse diretório.
- Compartilhamentos UNC como
\\server\share - Caminhos de montagem automática como
/net/<host>, a menos que você tenha iniciado Claude Code de um diretório sob a montagem automática desse host. Leituras sob essa montagem automática ainda passam pela verificação de caminho de rede. - Caminhos locais que alcançam um local de rede através de um link simbólico ou junção
\\wsl$ não contam como caminhos de rede.
O que fazer:
- No Windows, mapeie o compartilhamento para uma letra de unidade, por exemplo com
net use Z: \\server\share, e passe a unidade na inicialização comclaude --add-dir Z:\. - No macOS ou Linux, monte o compartilhamento em um caminho local e adicione esse caminho.
- Se o caminho estiver em
permissions.additionalDirectories, remova-o do arquivo de configurações que o lista.
Falha ao carregar configurações gerenciadas remotamente
Sua sessão é elegível para configurações gerenciadas pelo servidor, mas Claude Code não conseguiu buscá-las ou não conseguiu aplicar o que o servidor retornou, então mostra este aviso em sessões interativas. A causa entre parênteses nomeia o que falhou, comonetwork error, request timed out ou authentication rejected (401). A causa no setting in the server response could be applied as written significa que o servidor respondeu mas nenhuma das configurações que retornou passou na validação. Antes da v2.1.282, esta causa lia server returned invalid settings.
O resto da linha diz qual política a sessão executa:
- Configurações em cache de uma busca anterior bem-sucedida: Claude Code executa a sessão nessa política em cache, exceto as variáveis de ambiente retidas, e a linha lê
using cached policy. - Sem cache: Claude Code executa a sessão sem configurações gerenciadas pelo servidor, e a linha lê
no remote policy applied.
- Aja sobre a causa que a mensagem nomeia: para uma causa de rede, verifique se esta máquina pode alcançar
api.anthropic.com; para uma causa de autenticação, verifique seu login com/status - Para
no setting in the server response could be applied as written, peça ao seu administrador para corrigir as configurações no servidor - Execute
/statusouclaude doctorpara o diagnóstico completo
As configurações gerenciadas não foram aprovadas
As configurações gerenciadas pelo servidor de sua organização incluem configurações que precisam de sua aprovação, e você recusou a caixa de diálogo de aprovação de segurança, então Claude Code sai sem aplicá-las:- Inicie Claude Code novamente e aprove a caixa de diálogo para continuar sob as configurações de sua organização. Uma caixa de diálogo recusada não é lembrada, então aparece novamente na próxima inicialização.
- Se você não tiver certeza sobre uma configuração que a caixa de diálogo lista, pergunte a quem mantém as configurações gerenciadas de sua organização antes de aprovar
As configurações gerenciadas bloqueiam o modelo padrão
As configurações gerenciadas de sua organização bloqueiam o modelo para o qual a opção Padrão se resolve e cada modelo para o qual poderia fazer downgrade. Uma sessão que começaria na opção Padrão sai na inicialização em vez de executar um modelo bloqueado. Qual mensagem você vê depende da configuração que o bloqueia. Quando uma listadeniedModels o bloqueia, a mensagem lê:
availableModels com availableModelsMatch definido como "exact" a omite, a mensagem lê:
- Se você administra as configurações, adicione um modelo que seus usuários possam executar a
availableModels, ou estreite as entradasdeniedModelsque bloqueiam cada fallback. Bloquear modelos ou versões específicas descreve como a opção Padrão faz downgrade - Se você não as administra, envie a mensagem ao seu administrador. Seus próprios arquivos de configurações não podem ampliar uma lista
availableModelsoudeniedModelsgerenciada
As configurações gerenciadas não permitem este provedor de API
As configurações gerenciadas de sua organização definem uma listaallowedProviders, e o provedor de API da sessão não está nela ou a sessão usa um endpoint que não está fixado da forma que essa entrada requer. Claude Code recusa na inicialização, antes de um login, ou quando a sessão próxima contata a API. A mensagem começa com os provedores permitidos:
(allowedProviders lists only unrecognized entries) em vez disso.
O que fazer:
- Siga as etapas
To continue:da mensagem - Se você administra as configurações, as linhas da mensagem começando com
Admins:nomeiam a entrada a adicionar ou o valor a fixar, e a entradaallowedProvidersdiz qual blocoenvda fonte pode fixá-lo
O servidor MCP é bloqueado pela política gerenciada da empresa
Você selecionou Reconnect em um servidor em/mcp, ou ativou um servidor desabilitado novamente lá, e uma configuração que restringe servidores MCP bloqueia esse servidor. Claude Code recusa conectá-lo e mostra:
- Uma entrada
deniedMcpServersque corresponde ao servidor, incluindo uma em seu próprio~/.claude/settings.jsonou no.claude/settings.jsondo projeto - Uma lista
allowedMcpServersque o servidor não corresponde strictPluginOnlyCustomizationcommcpbloqueado, que bloqueia servidores configurados em~/.claude.jsone.mcp.jsondisableClaudeAiConnectors, quando o servidor é um conector claude.ai
- Verifique seus próprios arquivos de configurações de usuário e projeto para uma dessas configurações e altere ou remova-a
- Se nenhuma de suas próprias configurações explicar o bloqueio, pergunte ao seu administrador qual configuração gerenciada bloqueia o servidor
/mcp poderiam conectar um servidor que uma atualização de política no meio da sessão bloqueou.
O documento de configurações gerenciadas não pôde ser analisado
Sua organização implanta configurações gerenciadas, e um dos documentos implantados está presente mas não pode ser analisado como um objeto JSON, então Claude Code sai com código 1 na inicialização em vez de executar sem a política que o documento carrega. A linha nomeia a fonte falhada antes da mensagem:- O caminho do arquivo
managed-settings.jsonou um arquivo drop-in sobmanaged-settings.d - O perfil de preferências gerenciadas do macOS,
per-user managed preferencesoudevice-level managed preferences - O valor do registro do Windows,
Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings
claude -p, sessões do Agent SDK, sessões em segundo plano e a maioria dos subcomandos, claude doctor incluído. A recusa falha fechada propositalmente: as configurações em um documento que Claude Code não pode analisar não podem ser aplicadas, e iniciar mesmo assim executaria sessões sem os controles da organização.
Um problema de esquema em um documento analisável não produz este erro. Encontre entradas que Claude Code descartou cobre o que Claude Code faz com um.
Quando um diretório managed-settings.d/ existe mas não pode ser listado, Claude Code relata Managed settings drop-in directory could not be read: seguido pelo erro subjacente. Encontre entradas que Claude Code descartou cobre quando uma falha de leitura sai na inicialização.
O que fazer:
- Se você administra a máquina, corrija o documento nomeado para que seja analisado como um objeto JSON, ou remova o arquivo, perfil ou valor do registro. Um
managed-settings.jsonvazio conta como{}e não bloqueia o lançamento. - Se não, peça ao seu administrador para corrigir o documento implantado. Nada em seus próprios arquivos de configurações causa ou limpa este erro.
Não foi possível ler as configurações de política gerenciada
Sua organização implanta configurações gerenciadas, e uma das fontes implantadas existe mas não pôde ser lida, por um motivo como um erro de E/S em vez do sistema operacional negar a leitura. Sem outra fonte de administrador fornecendo uma política, Claude Code sai na inicialização em vez de executar sem a política que a fonte pode carregar:claude gateway são recusados com uma variante da primeira linha que nomeia allowedProviders.
Uma leitura que o sistema operacional negou, como em um arquivo somente raiz, não produz esta saída: a sessão inicia sem as políticas dessa fonte. Para uma fonte que não pode ser analisada, Claude Code sai com uma mensagem diferente nomeando a fonte.
O que fazer:
- Se você administra a máquina, corrija o problema que a linha
Detail:nomeia para que a fonte implantada possa ser lida, ou remova a fonte - Se não, envie a mensagem ao seu administrador. Nada em seus próprios arquivos de configurações causa ou limpa este erro
otelHeadersHelper falhou
Claude Code mostra este aviso como uma notificação na interface do terminal, uma vez por sessão interativa, quando o scriptotelHeadersHelper falha ou imprime saída que não atende aos requisitos do script.
Enquanto o script continua falhando, as exportações falham e seu backend de telemetria não recebe nada da sessão.
O texto após See /status: diz o que falhou, como o código de saída do script seguido por sua saída de erro:
- Execute
/statuspara ler o detalhe da falha. - Corrija o script para que saia com 0 em 30 segundos e imprima um objeto JSON de valores de cabeçalho de string em stdout. Consulte requisitos do script.
- Se sua organização implanta o script através de configurações gerenciadas, peça a quem as mantém para corrigi-lo.
-p, a mesma falha aparece em stderr como otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error> em vez disso.
headersHelper não executado
Claude Code conectou um servidor MCP com seusheaders estáticos sozinhos e pulou o headersHelper do servidor, porque o auxiliar é um comando shell e a pasta não tem confiança salva. Uma pasta obtém confiança salva quando você define sua entrada em ~/.claude.json manualmente ou, fora de seu diretório inicial, quando você aceita a caixa de diálogo de confiança para ela em uma sessão interativa. Consulte Confie em uma pasta antes de seu headersHelper ser executado para ver quais servidores essa verificação se aplica.
Claude Code escreve esta linha no modo não interativo apenas, uma vez por servidor. Em uma sessão interativa, escreve a mesma recusa no log de depuração.
projects que a mensagem imprime é a pasta Regras de permissão do projeto e confiança do espaço de trabalho diz que Claude Code a chave na confiança. Aceitar a caixa de diálogo de confiança para uma pasta pai não satisfaz a verificação, e uma sessão -p ou SDK também não satisfaz.
O que fazer:
- Execute
claudena pasta que a mensagem nomeia, aceite a caixa de diálogo de confiança, então execute seu comando-pou SDK novamente - Defina a entrada
hasTrustDialogAcceptedem~/.claude.jsonvocê mesmo, usando a chaveprojectsexata que a mensagem imprime - Se você iniciou a sessão em seu diretório inicial, trabalhe a partir de um diretório de projeto que você confiou. Quando você aceita a caixa de diálogo de confiança em seu diretório inicial, Claude Code mantém essa confiança apenas para a sessão atual.
Regra Tool(content) malformada
Uma regra de permissão em um de seus arquivos de configurações não tem a formaTool ou Tool(content), por exemplo porque o texto segue o parêntese de fechamento ou um dos parênteses está faltando. Claude Code pula a regra e a lista na caixa de diálogo de configurações inválidas quando uma sessão interativa inicia, e na saída de claude doctor:
- No arquivo de configurações listado com a mensagem, reescreva a regra para que termine em seu parêntese de fechamento, por exemplo
Bash(ls *)em vez deBash(ls) x - Deixe os parênteses dentro do conteúdo como estão. Eles são literais, então uma regra como
Edit(./Finance (2024)/**)é válida sem escape
Mismatched parentheses.
Não é correspondido pelas verificações de permissão de arquivo
Claude Code encontrou uma regraWrite, NotebookEdit, MultiEdit ou Glob permissão com um caminho em um de seus arquivos de configurações, em configurações gerenciadas, ou em um valor de flag --allowedTools, --disallowedTools ou --settings. Ele verifica permissões de arquivo apenas contra regras Edit e Read, então nunca consulta uma regra de caminho que nomeia uma das outras ferramentas de arquivo. Ele mantém a regra e não muda mais nada; o aviso nomeia a regra, sua fonte entre parênteses e a substituição a escrever:
- Substitua as regras
Write(path),NotebookEdit(path)eMultiEdit(path)legadas porEdit(path). As regrasEditcobrem todas as ferramentas de edição de arquivo. - Exceto em
--allowedTools, onde Claude Code aceita uma regraGlobsem aviso, substitua as regrasGlob(path)porRead(path). - Corrija a regra na fonte que o aviso nomeia entre parênteses: um caminho de arquivo de configurações, ou o próprio flag para
--allowed-toolse--disallowed-tools. Um caminhoclaude-settings-<hash>.jsonque não existe no disco representa um valor--settingsinline. Corrija o JSON que você passa para esse flag. - Deixe as regras de nome de ferramenta simples como
WriteouGlobsozinhas. Claude Code as corresponde no nível de ferramenta e não avisa sobre elas. - Se a fonte lê
managed policy settings, encaminhe o aviso a quem mantém suas configurações gerenciadas, já que você não pode limpá-lo você mesmo.
--output-format json ou stream-json, Claude Code escreve o aviso no log de depuração em vez de stderr, então a saída lida por máquina fica limpa. Execute com --debug para capturá-lo em ~/.claude/debug/<session-id>.txt. Antes da v2.1.210, Claude Code aceitava essas regras sem aviso.
Tem um curinga antes do resto do comando
Claude Code encontrou uma regra de permissãoBash allow cujo * vem antes de uma palavra posterior que determina qual comando é, como Bash(git * main) ou Bash(git -C * status *), em um de seus arquivos de configurações, em configurações gerenciadas, ou em um valor de flag --allowedTools ou --settings. O * corresponde a qualquer texto, incluindo opções inseridas nessa posição: Bash(git * main) também aprova git -c core.fsmonitor=<script> diff main, onde -c faz git executar um programa que o comando nomeia. Padrões de curinga mostra as regras de correspondência.
O aviso existe para que você possa estreitar uma regra cujo curinga é mais amplo do que você pretendia. Claude Code mantém a regra e não muda nada sobre como ela corresponde; o aviso nomeia a regra e sua fonte entre parênteses:
- Substitua o
*antes do subcomando pelo valor exato que você quer dizer:Bash(git checkout main)em vez deBash(git * main). - Mova cada
*após o subcomando:Bash(git status *)em vez deBash(git -C * status *). Escreva uma regra por subcomando que você quer permitir. - Corrija a regra na fonte que o aviso nomeia entre parênteses: um caminho de arquivo de configurações, ou o próprio flag
--allowed-tools. Um caminhoclaude-settings-<hash>.jsonque não existe no disco representa um valor--settingsinline. Corrija o JSON que você passa para esse flag. - Se a fonte lê
managed policy settings, encaminhe o aviso a quem mantém suas configurações gerenciadas, já que você não pode limpá-lo você mesmo.
--output-format json ou stream-json, Claude Code escreve o aviso no log de depuração em vez de stderr, então a saída lida por máquina fica limpa. Execute com --debug para capturá-lo em ~/.claude/debug/<session-id>.txt. Antes da v2.1.246, Claude Code aceitava essas regras sem aviso.
Negar Bash também desativa a ferramenta PowerShell
Você removeu a ferramenta Bash inteira, por exemplo com--disallowedTools Bash ou com uma regra deny Bash ou Bash(*) simples em um de seus arquivos de configurações. No Windows com Git Bash instalado, negar Bash também desativa a ferramenta PowerShell, então a sessão inicia sem nenhuma ferramenta de shell. Claude Code imprime este aviso na inicialização:
- Para que Claude use PowerShell, defina
CLAUDE_CODE_USE_POWERSHELL_TOOLcomo1em seu ambiente ou no blocoenvde um arquivo de configurações, como Ativar a ferramenta PowerShell mostra. A ferramenta PowerShell então permanece ativada junto com sua regra deny de Bash. - Para bloquear comandos específicos em vez da ferramenta inteira, substitua a entrada
Bashsimples por regras com escopo comoBash(git push *)no mesmo arquivo de configurações ou flag. Claude mantém a ferramenta Bash, e a ferramenta PowerShell permanece desativada até que você também defina a variável ou adicione uma regra de permissãoPowerShellcom escopo.
--output-format json ou stream-json, Claude Code escreve o aviso no log de depuração em vez de stderr. Execute com --debug para capturá-lo em ~/.claude/debug/<session-id>.txt. Antes da v2.1.287, Claude Code desativava a ferramenta PowerShell da mesma forma sem imprimir um aviso.
crossSessionInbound deve ser um de accept, hold, refuse
Um arquivo de configurações definecrossSessionInbound para um valor que Claude Code não reconhece, como o erro de digitação "reject". A segunda frase do aviso depende de qual arquivo contém o valor; em um arquivo de usuário, projeto, local ou --settings, lê:
refuse, o valor mais restritivo, e o aviso diz que as mensagens entre sessões são rejeitadas até que um administrador corrija. Para como a retenção se combina com valores em seus outros arquivos de configurações, consulte crossSessionInbound.
O que fazer:
- Defina a chave para
"accept","hold"ou"refuse", ou remova-a - Quando o aviso nomear configurações gerenciadas, peça ao administrador para corrigir o valor
ANTHROPIC_FOUNDRY_RESOURCE deve ser um nome de recurso do Foundry
Você definiuANTHROPIC_FOUNDRY_RESOURCE como algo diferente de um nome de recurso simples do Microsoft Foundry, como a URL do endpoint ou seu nome de host. Claude Code recusou o valor antes de enviar uma requisição. A mensagem aparece no lugar da resposta de Claude, não como um aviso de inicialização:
- Defina
ANTHROPIC_FOUNDRY_RESOURCEapenas como o nome do recurso e reinicie Claude Code. Para o endpointhttps://my-resource.services.ai.azure.com/anthropic, o nome émy-resource. - Para fornecer a URL completa do endpoint, defina
ANTHROPIC_FOUNDRY_BASE_URLcomo a URL e removaANTHROPIC_FOUNDRY_RESOURCE, depois reinicie Claude Code. Claude Code aceita apenas uma das duas variáveis.
O limite de 200K não é aplicado
Você definiuCLAUDE_CODE_DISABLE_1M_CONTEXT=1, que normalmente faz auto-compactação manter sessões em modelos de contexto 1M em uma janela de 200K, mas nenhum limite de compactação limita esta sessão em ou abaixo de 200K, então a conversa pode crescer além disso.
- O ID do modelo não é um que Claude Code reconhece, como um alias de gateway LLM, e você definiu
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1ou aumentou a janela assumida além de 200K comCLAUDE_CODE_MAX_CONTEXT_TOKENS. Neste caso, a mensagem também ofereceor update to a Claude Code version that recognizes <model>como um remédio. - Um beta
context-1msolicitado através deANTHROPIC_BETASou o flag--betasainda pede à API a janela de 1M em um modelo que aceita esse beta, enquanto nada compacta a sessão em 200K
- Defina
CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000, ou a configuraçãoautoCompactWindowpara200000, para que a auto-compactação compacte no limite de 200K - Se a mensagem nomear um ID de modelo que esta versão não reconhece, execute
claude update. Uma versão que reconhece o ID como um modelo de contexto 1M aplica o limite sem configuração adicional. - Se você quer que a sessão use a janela completa do modelo, desdefina
CLAUDE_CODE_DISABLE_1M_CONTEXT; o aviso relata apenas que o limite de 200K não é aplicado
--output-format json ou stream-json, Claude Code escreve o aviso no log de depuração em vez de stderr.
ID de modelo não reconhecido em uma solicitação
Claude Code enviou uma solicitação para um ID de modelo que sua versão de Claude Code não reconhece, e não encontrou nenhuma entradamodelOverrides que mapeie esse ID para um modelo que reconhece. Claude Code ainda envia a solicitação com o ID conforme você o configurou, e não sai ou muda de modelos.
[claude-code:unrecognized_model]. Após o prefixo e um espaço, Claude Code escreve um objeto JSON de uma linha. Claude Code pode adicionar campos a ele em uma versão posterior, então ignore qualquer campo que você não espera. Ele escreve pelo menos estes dois:
model: a string do modelo conforme você a configurouquery_source: o caminho da solicitação que usou o modelo. Claude Code relatasdkpara uma execução-pe um valor que começa comagent:para um subagente.
- No modo não interativo com
-p, Claude Code escreve em stderr sob cada--output-format, para que você possa analisar stdout sem filtrar a linha - Em uma sessão interativa ou uma sessão em segundo plano, Claude Code escreve no log de depuração; execute com
--debugpara capturá-lo em~/.claude/debug/<session-id>.txt
us.anthropic.claude-..., IDs da plataforma de agentes do Google Cloud com um sufixo de versão @, e nomes de implantação do Microsoft Foundry que contêm um ID de modelo Claude. Claude Code verifica o modelo atrás de um ARN de perfil de inferência de aplicação do Amazon Bedrock em vez do próprio ARN. Escreve nenhuma linha para um ARN que não pode resolver, como um digitado incorretamente.
O que fazer:
-
Se você definiu o ID propositalmente, como um alias de gateway LLM, adicione uma entrada
modelOverridesao seu arquivo de configurações com o ID como seu valor. Use um ID de modelo Anthropic como a chave, não um alias de família comoopus. Paramy-proxy-modelda linha de exemplo, adicione esta entrada:Claude Code então tratamy-proxy-modelcomoclaude-opus-4-6e para de escrever a linha. -
Se o ID nomeia um modelo mais novo que sua versão de Claude Code, execute
claude update -
Se o ID é um erro de digitação, corrija-o em qualquer um dos lugares onde você pode definir um modelo ou variáveis de alias que o contém. Se
query_sourcecomeça comagent:, corrija-o onde você define o modelo do subagente.
Arquivos de máscara de sandbox obsoletos deixados por uma sessão morta
claude doctor imprime este aviso em seus diagnósticos, e /status lista a mesma linha. Aparece no Linux e WSL2 quando sandboxing está habilitado com isolamento de sistema de arquivos ativado.
Enquanto um comando em sandbox é executado, a sandbox mantém uma negação de escrita em um arquivo que ainda não existe criando um espaço reservado de leitura 0-byte lá, e o remove depois. Uma sessão morta antes dessa limpeza ser executada, por exemplo por SIGKILL, deixa os espaços reservados para trás. Sessões posteriores os vinculam novamente como somente leitura em cada inicialização, então uma escrita de configurações como salvar “Sim, e não pergunte novamente” falha onde um fica.
- Saia de qualquer outra sessão de Claude Code em execução nesse projeto, depois delete cada arquivo listado com
rm. O aviso nomeia até três arquivos e conta o resto, então executeclaude doctornovamente após deletar até que o aviso não apareça mais. Um espaço reservado que a sandbox de outra sessão ainda está usando é uma parte viva da proteção de escrita dessa sessão. - Se uma escolha de permissão que você salvou com “Sim, e não pergunte novamente” não ficou, salve-a novamente após deletar o espaço reservado.
claude doctor não sinalizava esses arquivos; versões anteriores deixam os mesmos espaços reservados para trás quando uma sessão é morta.
As respostas parecem ter qualidade inferior ao usual
Se as respostas do Claude parecerem menos capazes do que você espera, mas nenhum erro for exibido, a causa geralmente é o estado da conversa em vez do modelo em si. Claude Code não muda silenciosamente versões de modelo. Ele pode mudar para um modelo de fallback nestes casos:- Um
--fallback-modelconfigurado assume o controle após um erro de disponibilidade, apenas para esse turno, com um aviso na transcrição - Uma verificação de inicialização do Amazon Bedrock ou da Agent Platform do Google Cloud encontra seu modelo padrão indisponível, ou sua conta perde acesso a ele durante a sessão
- Fallback automático de modelo no Fable 5.1, Fable 5, Opus 5.5, Sonnet 5.5 e Opus 5 move a sessão para o modelo de fallback da categoria sinalizada, quando essa categoria tem um, e mostra um aviso na transcrição
/model. Configuração de modelo explica quando cada fallback se aplica.
Verifique estes primeiro:
- Seleção de modelo: execute
/modelpara confirmar que você está no modelo que espera. Uma escolha anterior de/modelou uma variável de ambienteANTHROPIC_MODELpode ter você em um modelo menor do que pretendia. - Nível de esforço: execute
/effortpara verificar o nível de raciocínio atual e aumentá-lo para depuração difícil ou trabalho de design. Os padrões variam por modelo, então verifique antes de assumir que você está abaixo do máximo. Veja Ajustar nível de esforço para padrões por modelo e o atalhoultrathink. - Pressão de contexto: execute
/contextpara ver o quão cheio está a janela. Se estiver próximo da capacidade, execute/compactem um ponto natural ou/clearpara começar do zero. Veja Explorar a janela de contexto para como auto-compact afeta turnos anteriores. - Instruções obsoletas: arquivos
CLAUDE.mdgrandes ou desatualizados e definições de ferramentas MCP consomem contexto e podem orientar respostas. A verificação/doctorsinaliza arquivos de memória superdimensionados e extensões não utilizadas, e/contextmostra o uso de tokens de ferramentas MCP. Antes da v2.1.205,/doctorabria uma tela de diagnósticos que sinalizava arquivos de memória superdimensionados e definições de subagente.
/rewind para voltar antes do turno ruim, depois reformule o prompt com mais especificidades. Corrigir na thread mantém a tentativa errada no contexto, o que pode ancorar respostas posteriores a ela. Veja Checkpointing.
Se a qualidade ainda parecer inadequada após verificar o acima, execute /feedback e descreva o que você esperava versus o que obteve. O feedback enviado desta forma inclui a transcrição da conversa, que é a forma mais rápida para a Anthropic diagnosticar uma regressão real. Veja Relatar um erro se /feedback não estiver disponível em seu ambiente.
Se Claude avisar sobre uma injeção de prompt suspeita, ou recusar uma solicitação por causa de uma injeção suspeita, e o texto que o aviso nomeia for contexto que Claude Code adiciona à conversa automaticamente em vez de conteúdo de arquivo ou web, execute claude update e tente novamente. Se o aviso se repetir após atualizar, relate-o em vez de colar o conteúdo sinalizado de volta no prompt. Antes da v2.1.201, Sonnet 5 recusava algumas solicitações da mesma forma.
Relatar um erro
Para erros de componentes que esta página não cobre, consulte o guia relevante:- Servidor MCP falhou ao conectar ou autenticar: MCP
- Script de hook falhou ou bloqueou uma ferramenta: Debug hooks
- Permissão negada ou erros do sistema de arquivos durante a instalação: Solucionar problemas de instalação e login
- Execute
/feedbackdentro do Claude Code para enviar a transcrição e uma descrição para a Anthropic. O comando também oferece abrir um problema do GitHub pré-preenchido. O envio para a Anthropic requer autenticação. No Amazon Bedrock, na plataforma de agentes do Google Cloud, no Microsoft Foundry e em outros provedores terceirizados, ou quando nenhuma credencial da Anthropic está configurada,/feedbacksalva um arquivo local que você pode enviar para seu representante de conta da Anthropic. - Execute
claude doctordo seu shell para um diagnóstico somente leitura da sua instalação, ou execute o checkup/doctordentro do Claude Code para encontrar e corrigir problemas de configuração - Verifique status.claude.com para incidentes ativos
- Pesquise problemas existentes no GitHub