Claude states runtime behavior as fact without verifying — skips tool calls to give fast-sounding answers

Resolved 💬 3 comments Opened Mar 18, 2026 by thampton-lexant Closed Mar 21, 2026

Summary

Claude optimizes for fast, confident-sounding answers about runtime behavior instead of verifying with a tool call first. The user cannot distinguish a verified answer from a guess — both sound equally confident. This erodes trust, especially in production contexts.

The Pattern

When asked behavioral questions ("what step is the pipeline on?", "will this script resume from where it left off?"), Claude pattern-matches from conversation context and states the answer as fact instead of reading the code or checking a log. The answer is always one tool call away, but Claude skips it.

Concrete Examples (single session, 2026-03-17)

Example 1: "What step is it on?"

  • User asked which step of a 5-step pipeline test was running
  • Claude answered "step 1" without checking
  • User: "how do you know it is step 1?"
  • Claude had not checked the log. A single grep would have given the real answer.

Example 2: "Will it resume at day 252?"

  • E2E bulk load had completed 251/365 days before auth expired
  • User asked if re-running would pick up where it left off
  • Claude confidently said "yes, it'll pick up at day 252 from the progress file"
  • In reality, the script's first step is Recreate datasets (clean slate) — it drops everything and starts over
  • A 30-second read of the script would have shown this immediately
  • User had to discover the wrong answer by running it and asking Claude to check the log

Example 3: "Did you load demo data in aegis?"

  • Claude gave a confident but incorrect answer about which environment a command targeted
  • User: "I will do this by hand because I am not trusting anything you are saying"

Why This Matters

  1. Users can't tell the difference — a verified answer and a guess sound identical. There's no signal that Claude didn't check.
  2. It's worst when trust matters most — production state, runtime behavior, "what will this command do?"
  3. The information is always available — Claude has Read, Grep, Bash tools. The answer is deterministic and verifiable. Guessing is unnecessary in programming.
  4. CLAUDE.md rules are a workaround — the user added a global rule ("Never state behavior as fact without reading the code") and it helps, but the default behavior should be better.

Suggested Improvement

When answering questions about runtime state, script behavior, or what a command will do, Claude should default to verification (reading code, checking logs) before answering. If no tool call precedes a behavioral claim, that's a signal something is wrong.

The user observed: "if I answer a behavioral question instantly without a tool call preceding it, that's a red flag" — this heuristic could potentially be built into the model's behavior.

Environment

  • Claude Code CLI
  • Model: claude-sonnet-4-6 (and claude-opus-4-6 in same session)
  • macOS, Python/dbt/BigQuery project

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗