claude-code - 💡(How to fix) Fix [Bug] Claude Code consistently delivers code with undetected logical errors before declaring tasks complete [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#54070Fetched 2026-04-28 06:40:01
View on GitHub
Comments
2
Participants
2
Timeline
8
Reactions
0
Timeline (top)
labeled ×3commented ×2subscribed ×2mentioned ×1
RAW_BUFFERClick to expand / collapse

Bug Description

Uso Claude Code (Opus 4.7) como ferramenta principal de desenvolvimento na minha agência, em projetos de cliente em produção. Há um padrão recorrente que está minando a confiança na ferramenta:

Comportamento observado: o Claude entrega código apresentando como "pronto" / "done" / "passou nos checks", e quando submeto o mesmo diff pro Codex (GPT-5) como reviewer adversarial, ele aponta erros nítidos — não edge cases obscuros, erros que qualquer leitura cuidadosa pega.

Casos concretos (screenshots anexados abaixo)

Caso 1 — PR #15 (LiteLLM fallback que não salva): Claude implementou fallback usando fallbacks=[Anthropic/...] do LiteLLM e declarou tarefa completa. Codex (GPT-5) revisou e apontou: LiteLLM "drops unsupported parameter NAMES" no fallback, mas Anthropic reasoning models aceitam o nome reasoning_effort e rejeitam o VALOR disable — resultado: o disable é mantido no fallback e a chamada falha em runtime. O fix drop_params=True que o Claude aplicou era no-op pra esse cenário. Bug crítico em produção que só foi pego porque rodei review externo.

Caso 2 — PR #16 (premissa errada sobre cache do Gemini): Claude implementou estratégia de cache de prompt assumindo "~40% economia em followup". Codex foi conferir e mediu: o SHARED_HEADER tem 2.181 chars (~370 palavras), abaixo do mínimo de 1024 tokens que o LiteLLM exige pra criar cachedContents no Gemini (MINIMUM_PROMPT_CACHE_TOKEN_COUNT=1024). Cache nunca seria criado — economia estimada estava 100% errada. Claude não verificou a constante, só assumiu que a lógica funcionava.

Ambos são erros que leitura cuidadosa do código pegaria, não edge cases obscuros. Em ambos, Claude declarou tarefa completa sem verificar a premissa subjacente.

Impacto

  • Sou forçado a usar Codex como segunda passada obrigatória em todo PR não trivial — o que era pra ser opcional virou requisito.
  • Confiança no "done" do Claude caiu — não consigo mais aceitar que ele declare uma tarefa concluída sem revisão externa.
  • Custo dobrou: pago Claude pra escrever + Codex pra revisar o que o Claude deveria ter pego.

Comportamento esperado

  • Claude deveria pegar erros desse nível antes de entregar, ou no mínimo sinalizar incerteza explicitamente ("não verifiquei o valor de X", "essa parte não rodei", "essa premissa precisa de confirmação").
  • Quando declarar "build passou" ou "testado", deveria ser verdade — não suposição.
  • Em código que depende de constantes/limites de bibliotecas externas (ex: MINIMUM_PROMPT_CACHE_TOKEN_COUNT do LiteLLM), Claude deveria verificar o valor real antes de afirmar que a lógica funciona.

Padrão sistemático

Não é incidente isolado: vem acontecendo em múltiplas sessões, múltiplos projetos, múltiplos tipos de tarefa (feature nova, bugfix, refactor). Os 2 casos acima são da mesma semana, em projetos diferentes.

Environment Info

  • Platform: win32
  • Terminal: windows-terminal
  • Version: 2.1.120
  • Model: claude-opus-4-7 (1M context)
  • Feedback ID: 95241dd6-9749-43a7-a28e-589b59afb6fe
<img width="1904" height="764" alt="Image" src="https://github.com/user-attachments/assets/2736583e-42ef-43db-b6fe-1e4968a8559f" /> <img width="1879" height="531" alt="Image" src="https://github.com/user-attachments/assets/881d89f1-06d0-4c07-bba8-1b61dd406d5c" />

extent analysis

TL;DR

The most likely fix is to implement additional verification steps in the Claude Code (Opus 4.7) to ensure it accurately checks for errors and uncertainties before declaring a task complete.

Guidance

  • Review the Claude Code's implementation of fallbacks and caching strategies to identify potential oversights, such as the fallbacks parameter in LiteLLM and the MINIMUM_PROMPT_CACHE_TOKEN_COUNT constant in Gemini.
  • Verify that the code checks for and handles errors and uncertainties explicitly, rather than relying on assumptions or unverified premises.
  • Consider implementing a secondary review process, like the one using Codex (GPT-5), to catch errors that may have been missed by the primary code review.
  • Update the code to provide more informative feedback when declaring a task complete, such as indicating which parts of the code were not verified or require further confirmation.

Example

No specific code snippet can be provided without more context, but an example of how to verify the MINIMUM_PROMPT_CACHE_TOKEN_COUNT constant in Gemini could be:

if len(prompt) < MINIMUM_PROMPT_CACHE_TOKEN_COUNT:
    print("Cache will not be created due to prompt length")

Notes

The provided information suggests a systematic issue with the Claude Code's ability to verify and declare tasks complete accurately. Without more specific details about the code implementation, it is challenging to provide a comprehensive solution.

Recommendation

Apply a workaround by implementing a secondary review process using Codex (GPT-5) to catch errors that may have been missed by the primary code review, until the underlying issues with the Claude Code can be addressed. This will help ensure the accuracy and reliability of the code reviews.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING