Você termina de construir um recurso no Claude Code. O diff mostra +2,148 −14, a branch é main e só falta apertar "Create PR" — e então um banner vermelho aparece no topo da tela:

⚠ Requisição inválida
Não foi possível verificar o status do pull request.
Esta informação pode estar desatualizada.

O incômodo é que o botão "Create PR" continua ali, mas você já não consegue saber qual é o estado atual do PR — se ainda não foi criado, se já está aberto ou se foi mesclado. Do nada, e sem nenhuma relação com as suas alterações de código, somente "como esta branch está no GitHub neste momento" fica invisível.

Vamos ao essencial: na maioria dos casos isso não é um erro fatal. Normalmente o Claude Code apenas tentou consultar o GitHub para obter o estado mais recente do PR, e essa única tentativa falhou. A causa quase sempre é uma de duas: ou a conexão/autenticação com o GitHub (frequentemente via CLI gh) não passou por um instante, ou esta branch simplesmente ainda não tem PR / não foi enviada para o remoto. Este artigo percorre o mecanismo, as 5 causas raiz, a ordem de diagnóstico, uma referência rápida de comandos e como evitar que o problema volte a acontecer.

CLAUDE CODE · PR STATUS

"Não foi possível verificar o status do PR" em resumo

— o Claude Code perguntou ao GitHub pelo estado; essa única requisição falhou

SINTOMA
Estado do PR desconhecido
criado ou não — a exibição fica desatualizada
CAUSA
GitHub não alcançado
gh auth expirado ou sem push/PR ainda
PRIMEIRO PASSO
gh auth status
verifique se a autenticação está ativa

A essência: não é "um problema de código", e sim "um problema de comunicação/autenticação com o GitHub".
Seu trabalho (geração de código, commits) normalmente pode continuar. Não há motivo para correr para uma nova sessão.

1. O que esse erro realmente está dizendo

Lido de forma simples, ele diz: "Não consegui verificar em que estado está o pull request desta branch no GitHub neste momento, então a informação exibida na tela pode estar desatualizada."

O que importa é entender que duas coisas NÃO aconteceram. Primeiro, o seu código e o seu diff não estão quebrados — as alterações de +2,148 −14 continuam exatamente ali na sua árvore de trabalho. Segundo, ele não diz "a criação do PR falhou". Este é um aviso do lado de leitura: "Como passo anterior à criação de um PR, tentei ler o estado atual do PR (não criado / aberto / mesclado / fechado) e falhei."

Em outras palavras, esse banner é uma mensagem do tipo "não consegui sincronizar", e normalmente é temporário. Minha leitura: quando você vir esse banner vermelho, a primeira coisa a suspeitar não é "o seu código", e sim "o estado da conexão com o GitHub" — especificamente estes três pontos: se a autenticação expirou, se a rede está acessível e se esta branch está sequer em um estado em que um PR poderia existir (enviada para o remoto).

2. Contexto: como o Claude Code enxerga o seu PR

Por que "não foi possível verificar" pode sequer acontecer? Porque o Claude Code não guarda o estado do PR dentro de si. A verdade sobre um PR existe somente nos servidores do GitHub. A cada vez, o Claude Code consulta o GitHub perguntando "qual é o estado do PR desta branch?" e reflete a resposta no selo e no botão exibidos na tela.

Para essa consulta, o Claude Code de linha de comando usa a CLI oficial do GitHub (o comando gh) como caminho padrão. O gh guarda o próprio token de autenticação do GitHub (em ~/.config/gh/hosts.yml e afins) e executa as chamadas de API em seu nome. Da perspectiva do Claude Code, o estado do PR só pode ser obtido corretamente quando todas estas condições se alinham: "o gh está autenticado, a rede está acessível e a branch correta existe no remoto".

Uma observação por precisão

Os detalhes internos de como a GUI do Claude Code atualiza o selo do PR (intervalo de polling, estratégia de cache, lógica de exibição de erros) não estão documentados oficialmente. O que é certo é que "obter o estado do PR exige uma conexão válida com o GitHub", e, na prática, a solução de problemas se resume à autenticação e à conectividade com o GitHub. As correções deste artigo se baseiam nessa parte que é certa.

3. Por que acontece — 5 causas raiz

Os caminhos que levam ao "não foi possível verificar o status do PR" podem ser agrupados em cerca de 5. Quanto mais acima, mais comum.

5 CAUSAS RAIZ

5 motivos para o estado do PR não ser obtido

CAUSA 1 · Autenticação expirada (a mais comum)
O token do gh está expirado, revogado ou sem login. Comum após uma reinicialização ou uma atualização do SO. O gh auth status diz na hora.
CAUSA 2 · Sem PR ainda / sem push
A branch não está no remoto, ou você não criou um PR. Não há "estado" a obter. O git push vem primeiro.
CAUSA 3 · Rede / proxy
Um proxy corporativo, VPN, estado offline ou DNS faz com que api.github.com fique inacessível. Se outras operações Git também falham, quase certamente é isso.
CAUSA 4 · Escopos insuficientes
Você está logado, mas o token não tem os escopos repo / read:org. Comum com repositórios privados ou organizações. Conceda-os com gh auth refresh.
CAUSA 5 · Uma falha transitória (muitas vezes inofensiva)
O limite de taxa da API do GitHub, uma falha pontual de rede ou um cache de exibição desatualizado. Se a autenticação e a rede estão ambas ativas, normalmente se resolve após uma curta espera e uma nova tentativa.

As causas 1–4 são problemas de configuração/estado (corrija-os e não voltam a ocorrer).
A causa 5 é transitória. Começar pela Causa 1 (autenticação) e pela Causa 2 (existência de push/PR) é o caminho mais rápido.

4. Resolva agora — a ordem de diagnóstico

Quando o banner vermelho aparecer, percorra 4 passos de cima para baixo. A maioria dos casos é identificada no STEP 1 ou no STEP 2.

4 PASSOS

A ordem em que diagnosticar

STEP 1 · Verifique a autenticação
Execute gh auth status. Se você não vir "Logged in", a autenticação expirou. Refaça o login com gh auth login. Isso resolve a maioria dos casos.
STEP 2 · Push e existência de PR
Envie para o remoto com git push -u origin <branch> e depois confirme se existe um PR com gh pr status. Se não houver, basta criar um.
STEP 3 · Conectividade e escopos
Desligue a VPN/proxy ou tente outra rede. Se faltarem escopos, conceda-os com gh auth refresh -s repo,read:org.
STEP 4 · Aguarde / tente de novo
Se 1–3 estão bem, é transitório. Aguarde um instante e tente de novo, ou atualize o Claude Code para a versão mais recente e reinicie.

A regra: "Suspeite da conexão com o GitHub antes de suspeitar do código."
O gh auth status do STEP 1 é, de longe, o movimento mais rápido em direção à causa real.

Mais uma coisa: mesmo quando esse banner aparece, seus commits locais e a sua árvore de trabalho estão a salvo. Não há motivo para correr para um git reset nem para descartar a sua sessão. Corrija a conexão primeiro e depois aperte "Create PR" de novo — na maioria dos casos isso resolve. Se ainda assim você não conseguir criar, execute gh pr create manualmente pela CLI para criar o PR sem passar pela interface do Claude Code.

5. Referência rápida de comandos

Aqui estão os comandos usados no diagnóstico. Execute-os de cima para baixo e você vai naturalmente restringir qual CAUSA se aplica.

FinalidadeComandoO que observar
A autenticação está ativa?gh auth statusAparece "Logged in to github.com" / escopos do token
Refazer logingh auth loginInterativo; a autenticação pelo navegador é a mais confiável
Adicionar escoposgh auth refresh -s repo,read:orgCostuma faltar em repositórios privados/de organizações
Verificar a config do remotogit remote -vO origin aponta para o repositório correto no GitHub?
Enviar a branchgit push -u origin <branch>Satisfaz o pré-requisito para que um PR exista
Existência / estado do PRgh pr statusHá um PR para a branch atual / aberto vs. mesclado
Criar PR pela CLIgh pr createCriar diretamente sem a GUI (contorno)
Teste de conectividadegh api rate_limitUma resposta significa que a conexão está OK / veja o restante para os limites de taxa

Se o gh auth status retornar "Logged in" e o gh pr status responder normalmente, então o mais provável é que seja apenas a exibição do Claude Code estar desatualizada. Atualize para a versão mais recente e reinicie, e o selo vai se ressincronizar corretamente.

6. Dá para ignorar "pode estar desatualizada"?

A frase "esta informação pode estar desatualizada" significa coisas diferentes em situações diferentes. Você precisa distinguir quando ela pode ser ignorada de quando exige ação.

✅ Pode ignorar (inofensivo)

  • gh auth status está OK
  • outras operações de Git/push passam normalmente
  • some após uma curta espera / nova tentativa
  • o selo do PR só parece desatualizado por um instante

→ Apenas um atraso de sincronização / cache. Continue trabalhando.

⚠ Exige ação (real)

  • gh auth status diz "not logged in"
  • tanto o push quanto o pull falham
  • não some por mais que você tente de novo
  • apertar "Create PR" não avança

→ Um problema real de autenticação/conexão. Resolva com os STEP 1–3.

O teste decisivo é, novamente, um único gh auth status. Se ele estiver verde (Logged in) e outras operações de Git passarem, você pode deixar o banner em paz. Por outro lado, se a autenticação estiver fora do ar, então operações além dos PRs (push, obtenção de reviews etc.) cedo ou tarde também vão falhar, então é sensato resolver na hora.

7. Checklist de prevenção de reincidência

Um checklist prático para que o mesmo banner vermelho não fique te incomodando.

Crie o hábito de verificar de vez em quando o gh auth status (tokens podem expirar em questão de semanas). Se você usa repositórios privados/de organizações, conceda os escopos necessários desde o início com gh auth refresh -s repo,read:org. Ao começar a trabalhar em uma nova branch, faça git push -u origin <branch> cedo (mantê-la em um estado em que um PR poderia existir estabiliza a exibição). Em uma rede corporativa (proxy/VPN), verifique a conectividade uma vez com gh api rate_limit. Mantenha o Claude Code atualizado — melhorias na exibição e na sincronização chegam continuamente. Se a GUI ficar persistentemente instável, passe a criar PRs com gh pr create (o método mais confiável).

Resumo

O "Não foi possível verificar o status do pull request. Esta informação pode estar desatualizada" do Claude Code indica não um defeito de código, mas que a consulta ao GitHub (frequentemente via CLI gh) não passou por um instante. Normalmente é um atraso de sincronização inofensivo, mas por trás dele pode se esconder autenticação expirada, uma branch sem push / PR ausente, um problema de rede ou escopos insuficientes.

A forma mais rápida de diagnosticar: ① verifique a autenticação com gh auth status, ② verifique o push e a existência do PR com git push + gh pr status, ③ inspecione a conectividade e os escopos, ④ se tudo estiver OK, aguarde e tente de novo, além de atualizar para a versão mais recente. Quando você realmente não conseguir criar pela GUI, basta criar diretamente com gh pr create. "Suspeite da conexão com o GitHub antes de suspeitar do código" — lembre-se disso, e esse banner vermelho não vai mais te assustar.

Leitura relacionada: O que é o GitHub Copilot, O que é o Claude Agent SDK, O erro 400 dos blocos de pensamento do Claude Code e o fluxo de deploy com Claude Code / Cursor.

FAQ

Q. Se esse erro aparecer, meu código ou meu diff serão perdidos?
A. Não. Este é um aviso do lado da comunicação de que "o estado do PR não pôde ser lido"; ele não tem nenhum efeito sobre seus commits locais, sua árvore de trabalho ou seu diff (como +2,148 −14). Não há motivo para correr para um git reset nem para descartar a sua sessão.

Q. O que devo verificar primeiro?
A. gh auth status. Esse único comando diz se a sua autenticação no GitHub está ativa. Se você vir "Logged in", a autenticação está OK — normalmente é transitório, então aguarde e tente de novo. Se não, refaça o login com gh auth login e a maioria dos casos se resolve.

Q. Posso deixar "esta informação pode estar desatualizada" em paz?
A. Se tanto a autenticação quanto a rede estiverem ativas, sim. Muitas vezes é apenas um atraso de sincronização / cache e some após uma curta espera ou nova tentativa. Mas se o gh auth status disser "not logged in", ou se até o push falhar, isso é um problema real — resolva.

Q. O "Create PR" não passa por mais que eu tente.
A. Execute gh pr create diretamente do terminal, contornando a GUI; isso permite criar o próprio PR. Se ainda falhar, verifique se a branch está no remoto com git push -u origin <branch> e se o origin aponta para o repositório correto com git remote -v.

Q. Acontece com frequência na minha rede corporativa. Por quê?
A. É provável que um proxy, VPN ou firewall esteja bloqueando o tráfego para api.github.com. Verifique se o gh api rate_limit responde; se não responder, você precisa de uma liberação do lado da rede (adicionar os domínios do GitHub à lista de permissões). Desligar temporariamente a VPN para isolar o problema também ajuda.