Claude Said the Vendor Never Replied. The Email Was Already There.

Claude missed an existing vendor reply and reported drafts and database states it never verified. A receipt-first workflow separates intent, execution and the final business state.

Claude Said the Vendor Never Replied. The Email Was Already There.
TLDR
  • A solo operator using Claude as a back office saw it miss existing replies, report drafts that did not exist, and confuse a vendor with a potential sponsor.
  • A tool call, a successful tool result, and the final state in Gmail or a CRM are three different pieces of evidence.
  • Automate reading and drafting aggressively, but require action receipts and approval gates for sending, payments, contracts, permissions and deletion.

Claude said the vendor never replied. The email was already there.

In a Reddit account, a solo event-staffing and brand-activation operator described turning Claude into a back office. It helped with email, vendor communication, applicant records and calendar work—the administrative layer that normally limits how much one person can handle.

Then Claude reported that a vendor had gone silent. The vendor had answered every question that morning.

That was not the only miss. Claude said an email had been staged, but no draft existed in Gmail. It described suppliers as “brand partner candidates,” reversing a basic commercial relationship: a vendor gets paid by the business; a sponsor pays the business. The operator spent two days planning around an opportunity that was not real. Claude also claimed a database table did not exist without checking. It did.

This is more dangerous than an awkward paragraph or a wrong summary. It is a false-done report: the agent describes an external action or business state as complete even though it never obtained evidence that the state was true.

The expensive hallucination is not a sentence. It is a business state.

When a chatbot gets an explanation wrong, the error can stay inside the conversation. When a connected agent gets a state wrong, people can act on it.

  • “The vendor has not replied” can trigger an unnecessary follow-up.
  • “The draft is ready” can cause the operator to skip a review step.
  • “The CRM stage is updated” can tell another person to stop working the lead.
  • “The table does not exist” can send a developer into the wrong repair.

Fluent language makes the problem worse. Verbs such as checked, saved, sent and updated sound like receipts. Without a result from the system of record, they are only claims.

FailureWhat the agent actually hadWhat it reported
Partial visibilityA search preview rather than the full threadThe vendor never replied
No check for the resulting draftNo evidence that a draft existed in GmailThe draft was staged
Semantic confusionSuppliers interpreted as potential brand partnersA new partnership opportunity existed
Database not queriedNo direct check for the tableThe table did not exist

Build around receipts, not confidence

Anthropic’s protocol for client tools makes an important distinction. Claude first returns a tool_use block describing the function and arguments it wants to invoke. The client executes that function and sends a tool_result back. Server tools run on Anthropic’s infrastructure, but the request to act and the result of acting are still separate evidence.

Business automation needs one more step after that result.

LayerQuestionRequired evidence
IntentWhat did the agent attempt?Tool name, arguments and request time
ExecutionDid the external system accept it?Success or error result and object ID
OutcomeDoes the desired state now exist?A fresh read from Gmail, the CRM, calendar or ledger

When an API provides identifiers, a Gmail draft should produce a draft ID, then appear when the draft is read back. A CRM update should return a record ID or another queryable result, then show the expected value in a fresh query. A sent email should have a message ID or delivery result and appear in the sent mailbox. The agent’s final prose should summarize those receipts, not replace them.

“All tests passed” can still mean the customer cannot log in

The same gap shows up in software delivery. Another Claude Code user had spent weeks on a FastAPI and Next.js product. Its tests, type checks, linter and build all passed. Before release, the user asked Claude to start from a clean project and walk through the product like a buyer.

The walkthrough failed at the first real login. The authentication service redirected to routes that did not exist. Once that was fixed, billing still failed in the browser because the shipped CORS configuration omitted the frontend origin.

The codebase contained enough information to explain both bugs. The previous checks simply did not execute the outcome that mattered. “The backend function passes” and “a new customer can pay in a browser” were different definitions of done.

The same distinction applies to back-office work. “Email search returned results” does not mean “the agent read every relevant reply.” “Create draft returned without an obvious crash” does not mean “a reviewable draft exists.” Verification must run at the level where the business outcome lives.

Four labels prevent assumptions from becoming facts

The solo operator reported fewer errors after combining a master state file, evidence labels, and rules that forbid treating previews or unsupported tool claims as facts. A reusable version has four states:

StatusMeaningAcceptable report
VerifiedThe source or current system state was directly checked“The 9:14 a.m. reply was opened and read.”
ReportedA person or system says it happened, but the primary record was not checked“The CRM marks the call as completed.”
InferredAvailable signals suggest it, but evidence is incomplete“A delayed response is likely.”
OpenThe required source, permission or result is unavailable“The full thread was not accessible.”

This works better than a vague instruction to “never hallucinate.” It controls which verbs are allowed at each evidence level. Exists, does not exist, sent and updated belong only to the verified state. Inferences stay labeled as inferences. Missing evidence remains open instead of being filled with a plausible story.

Every automated action needs a compact receipt

Anthropic’s Managed Agents session viewer exposes raw events, tool calls, failures, call counts and median duration. Anthropic’s tool-evaluation guidance separately recommends reviewing raw transcripts, tool calls and tool responses rather than relying on an evaluation agent’s narrative alone.

FieldExample
Task IDvendor-followup-1842
Requested actionCreate a reply draft
System of recordGmail
Tool eventFunction, timestamp and arguments
ResultSuccess, failure or error message
Object IDDraft, message, CRM record or calendar event ID
Read-backThe value retrieved after the write
ApprovalAuto-complete, review pending or human approval required

This is not enterprise bureaucracy. A draft ID, before-and-after value or API error is often enough to separate “the model believes it happened” from “the system proves it happened.”

Put approval gates where mistakes become expensive

Requiring a person to approve every read destroys the value of automation. The useful boundary is reversibility and external impact.

Risk tierExamplesDefault policy
ReadOpen a full email thread, fetch a CRM recordRun automatically; cite the source and timestamp
DraftPrepare a reply, quote or calendar proposalSave automatically; do not send
External actionSend email, move a deal stage, invite attendeesRequire approval or an explicit pre-approved policy
Money or deletionPay, refund, sign, change access, bulk deleteRequire human approval and a post-action read-back

This model keeps the high-volume benefits. The agent can search, classify and draft at full speed. Friction appears only where a wrong state would affect another person, money, access or recoverability.

A completion contract for a business agent

Before reporting any business task as complete:

1. Read the current state from the system of record.
2. Do not treat search previews or summaries as the full source.
3. Distinguish a proposed tool call from the returned tool result.
4. For every create, update or send action, record the result and object ID.
5. Read the object back and verify the requested final state.
6. Label each business claim as Verified, Reported, Inferred or Open.
7. Do not send, pay, sign, grant access or delete without the required approval.
8. If evidence is missing, report what is missing instead of reporting completion.

The contract does not make the model infallible. It makes failures visible. Instead of hiding inside a confident status update, the break appears at a specific source read, tool result or approval gate.

The final answer should be generated from the evidence trail

An agent can be extremely useful in a small business and still be unsafe as the final authority on business state. Those two facts are compatible.

The right question is not whether Claude sounds confident or whether it usually gets the work right. The question is whether each consequential verb in the final report can be traced to a source read, tool result and final-state check.

If the receipt exists, the agent completed the task. If the receipt does not exist, it only completed the sentence.

Frequently asked questions

How do you verify that an AI agent actually completed a task?

Check the external system result and any returned object ID, then read the object back from the system of record. The agent’s natural-language status is a summary, not proof of completion.

Should every AI business action require human approval?

No. Reads and drafts can usually run automatically. Sending, changing shared records, payments, contracts, access changes and deletion need approval rules based on reversibility and external impact.

What is a false-done report from an AI agent?

It is a claim that an external action or business state is complete without evidence from the relevant system. Examples include saying an email was drafted when no draft exists or declaring that a vendor never replied after reading only a search preview.

Is a successful tool call enough to mark a workflow complete?

Not always. A tool may accept a request while the intended business outcome still fails. Verify the final state with a fresh read from Gmail, the CRM, the calendar, the payment system or the relevant ledger.