[Bug] Claude Code reports unverified inferences as confirmed facts and takes unrequested actions during production infrastructure tasks

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 0 comments · opened Jul 30, 2026

Bug Description
Feedback from a paying professional user. I run server fleet management for client websites and use Claude Code daily for production infrastructure work. Six specific failures from a single session on 2026-07-29/30. These are not one-offs, they are the pattern I have been dealing with. 1. INCOMPLETE CONFIGURATION SPECS I asked for a Cloudflare Cache Rule config. Claude gave me a settings table that included "Cache deception armor: On". It never mentioned that this setting lives inside a "Cache key" section that is COLLAPSED by default, or that the toggle defaults to OFF. I deployed the rule without it and only caught the gap by chance, re-reading the table later. This is the core problem. It gives me values without telling me where they are, what the default state is, or whether the section is even visible. I then have to audit its output to find out what it left out. That is worse than useless for production config work, because I cannot tell which parts are complete. 2. ASSERTING STATE IT NEVER VERIFIED Claude repeatedly told me my Edge TTL was 2 hours and Browser TTL was Bypass, as fact. It had only seen a dashboard summary row listing WHICH FIELDS were populated, not their values. It did not know what they were set to. It only found out when I sent screenshots. It should have said "I have not verified these" instead of reporting inference as confirmation. 3. TAKING ACTIONS I DID NOT ASK FOR I asked "what does per-PoP mean". Claude answered the question, then went and edited a file in my project without being asked. This happens constantly. Every unrequested action is something I now have to review. Answer the question. Stop. 4. IGNORING EXPLICIT INSTRUCTIONS ABOUT LENGTH I asked for a brief block for my documentation. I said brief, not verbose, not prose laden. It produced 127 lines. I had to ask two more times to get it down to something usable. When I finally asked it to write the file directly, it wrote to a temp file and told me to paste it myself, again. 5. SENDING ME TO LOOK AT THINGS THAT DO NOT EXIST It told me to check Cloudflare Analytics for 5xx and 522/524 status codes during a live incident. That breakdown does not exist on the Free plan. I wasted time in a dashboard looking for a panel that was never there. It should have known or verified before sending me. 6. PRESENTING BAD EVIDENCE AS GOOD During an incident it ran a grep against a log file, got no results, and reported that as positive evidence that a condition had not occurred. The log file was empty. Zero bytes. The null result meant nothing. It had to retract this after I ran another command. IMPACT I am using this for real client infrastructure. When Claude hands me a config spec, I need to be able to execute it, not audit it. Right now I have to assume every list is partial and every verified claim might be an inference. That costs me more time than doing the work myself, and it burned most of two days on what should have been a straightforward investigation. The frustrating part is that the actual technical analysis was good. It correctly reasoned about Cloudflare error behavior, ruled out several hypotheses on evidence, and the caching work it specced does function. The failures are all in delivery: completeness, restraint, and following instructions about format. WHAT I WANT - When giving a configuration, enumerate every control: where it is, whether the section is collapsed, its default, what to set it to, and why. Complete or explicitly marked partial. - Never report a setting or state as verified when it was inferred. Say so. - Answer the question asked. Do not take additional actions unless asked. - When I say brief, be brief the first time.

Environment Info

  • Platform: darwin
  • Terminal: Apple_Terminal
  • Version: 2.1.220
  • Feedback ID: d790712e-82eb-4140-9e6b-3f90a391447b

Errors

[]

View original on GitHub ↗