anthropics / anthropics/claude-code

Model reports a written instruction back as a completed fact, and writes the stale state into live files

Open
#95,505 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:cowork bug model
Dominant language
TypeScript
Stars
146k
Forks
23.8k
PR merge metrics
PR metrics pending

Description

### Preflight Checklist

- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Amodel) for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

### Type of Behavior Issue

Claude made incorrect assumptions about my project

### What You Asked Claude to Do

Run a routine that reads a folder of personal planning documents, decides what each new piece of information means, and writes the durable parts into the existing files.

This was Claude in the desktop app (Cowork), not the Claude Code CLI, so several fields below do not map cleanly. The behavior is about reading a document corpus, not about editing a codebase.

### What Claude Actually Did

1. New evidence arrived that was consistent with a statement in file B, which described a condition as fact and was correctly dated.
2. A separate file A contained a dated instruction to change that condition. Nothing anywhere recorded whether the instruction had been carried out.
3. A third file contained a pointer describing file A as holding a different category of content. The model read that description and did not open file A.
4. The model treated the new evidence as confirming file B.
5. It wrote file B's stale condition into four live documents, stated as current fact, with no hedging and no flag.

The user had carried out the instruction weeks earlier and knew it. The model had no way to know, and did not say so or ask.

### Expected Behavior

Treat an instruction with no recorded outcome as an open question, rather than silently resolving it as either done or not done.

Concretely, the model should have noticed: "this file tells someone to do X, no file says whether X happened, and I am about to assert the pre-X state as current." That is one question to the user, and it would have prevented the error entirely.

Two related behaviors would also have caught it. Following a pointer to a file is not the same as reading the file, and the pointer's wording narrowed what the model went looking for. And new evidence consistent with an old statement is not confirmation of it; it is usually consistent with several statements, including newer ones the model has not read.

### Files Affected

```shell
Four live Markdown documents in the user's own notes were written with the wrong claim. Filenames are personal and are omitted deliberately. No code was involved and nothing outside the intended folder was touched: the files edited were the correct files, the content written into them was wrong.
```

### Permission Mode

I don't know / Not sure

### Can You Reproduce This?

Haven't tried to reproduce

### Steps to Reproduce

1. Give the model a corpus where file B states a condition as fact, dated.
2. In file A, place a dated instruction that changes that condition, with no record anywhere of whether it was carried out.
3. In a third file, add a pointer describing file A as holding some other category of content.
4. Give the model new evidence consistent with file B's stale statement.
5. The model confirms file B and writes the stale condition forward as current fact.

### Claude Model

Opus

### Relevant Conversation

```markdown
The model wrote, as a statement of current fact, a sentence that had been copied forward from a document dated three weeks earlier, describing a setting the user had already changed. It presented this in its summary to the user as a newly discovered problem rather than as an unverified inference.
```

### Impact

Medium - Extra work to undo changes

### Claude Code Version

Not applicable: Claude desktop app (Cowork), September 2026

### Platform

Other

### Additional Context

The failure mode is general to any agent reading planning documents, because such documents record two different kinds of statement in the same voice: "X is true" and "do X". Nothing marks the difference on the page.

In this instance the error made the situation look worse than it was, which is the less dangerous direction. The same mechanism would as readily report a solved problem as solved when it was not, which is the version that causes harm.

No tool failed and nothing in the session warned that this was happening. The user caught it. Recovering the lost context afterwards required a separate session and most of an evening.

Related but not the same: issue #85253 covers inferred claims presented as observed facts. This one is narrower and has a concrete fix: an instruction with no recorded outcome is neither done nor undone, and should be surfaced as a question.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository file, test, or code entry point is identified; the report concerns the Claude desktop app (Cowork), not the CLI codebase. Start by locating the component responsible for document-grounded model behavior and determine whether this behavior is configurable or requires model changes; done means unresolved instructions and stale claims are surfaced rather than written as current facts.

Written by the indexing model from the issue text.

Assessment

Domain
ai
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.