Read returns the full file on an unchanged re-read (2.1.292): no "file unchanged" result

Status Open
Reported on v2.1.86
Maintainer reply None cached
Activity 3 comments · opened Oct 7, 2026

What I expected

The 2.1.86 changelog says the Read tool "deduplicates unchanged re-reads". #88118 and #64882
describe the result the model gets: "Wasted call — file unchanged since your last Read. Refer to
that earlier tool_result instead."

What happens

On 2.1.292 an identical second Read returns the whole file again, and the model receives it: the
context grows by the full file.

Repro

A 26 KB plain-text file, big.txt, in an empty folder:

claude -p "Use the Read tool to read big.txt in full. Then use the Read tool to read big.txt in full again, as a separate call after the first returns. Then reply with the first 120 characters of what the SECOND Read returned, verbatim." --allowedTools Read --output-format stream-json --verbose

Both tool_results are 27,807 characters, the reply quotes the file's content, and the context
reported on the API call after the second read grows from 70,281 to 83,274 tokens, which is the
file again.

The same happens:

  • with an explicit, identical offset and limit on both calls;
  • with a 1.8 KB file;
  • with the second read in a new turn, after --resume.

In real sessions

I searched my local transcripts: 753 sessions from 2.1.209 to 2.1.292, CLI and desktop app. None
contains a "file unchanged" Read result. In the 3 unchanged, identical repeats I found, the context
grew by the whole result each time.

What I don't know

Whether this is gated per account or organization (another reporter saw the rejection on 2.1.278,
in a September comment on #64882), or was turned off on purpose. If it was turned off, I think the
changelog entry should say so, because people write rules and tools around it.

Environment

  • Claude Code 2.1.292, Windows 11, native build; CLI and desktop app
  • Model: claude-opus-5-5
  • Organization account

View original on GitHub ↗

3 Comments

pranavkrishnadanda · 8 days ago

@xorets Can I solve this ticket. Can you please assign this ticket to me

xorets · 8 days ago
@xorets Can I solve this ticket. Can you please assign this ticket to me

I think I have no rights to assign. Please take it! 🙂

pranavkrishnadanda · 8 days ago

Okay thanks for the response