anthropics / anthropics/claude-code
[BUG] Cowork (web): near-identical assistant paragraphs re-rendered three times in one message block during/around auto-compaction
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 147k
- Forks
- 24k
- PR merge metrics
- PR metrics pending
Description
This concerns Cowork on claude.ai in the browser, not the CLI, so the CLI-only required fields are not applicable.
What happened
In a long Cowork session (cse_01W3ccWbTP8NWxio7Pu2qY5z), the transcript rendered three separate paragraphs that all say the same thing, stacked with no user turn between them:
Ep 37 is one edit away, blocked by a Google "Verify it's you" prompt on your client's account. Clear it here and I'll finish it.
Correction to what I said a minute ago: Ep 37 still carries it. ...
One thing from you unblocks it, a Google "Verify it's you" prompt sitting over Studio: clear it here, and Ep 37 takes a minute.
One video still has it. Google is asking to verify it's you before Studio will let me edit: clear that and it's done in a minute.
Each carries a different hyperlink to the same blocked step. To the user this reads as the assistant repeating itself compulsively. Auto-compaction ran immediately after ("Compacting our conversation so we can keep chatting… 84%").
Why this looks like a rendering/turn-boundary bug rather than model behaviour
- The paragraphs are not a single message's prose: they are three distinct final replies, each phrased as an opening line, concatenated into one visible block.
- No user message separates them in the rendered transcript, although the session did have user turns in between (a stop hook rejected two replies, each rejected attempt still reached the user).
- The session was at/near the compaction threshold when it happened.
Two things that would fix it
- A reply that is refused by a Stop hook should not be rendered to the user as a delivered assistant message. Today a blocked reply is still shown, so the retry reads as repetition. (Related: there is no signal to the model that its previous attempt was already displayed.)
- Assistant messages either side of an auto-compaction boundary should keep their turn separators in the rendered transcript instead of collapsing into one block.
Environment
- Cowork on claude.ai, Chrome on macOS
- Model: Opus 5
- Session: long-running, auto-compaction triggered
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository files, tests, or entry points are named; start by reproducing the Cowork browser transcript behavior around Stop-hook rejections and auto-compaction. Done means refused replies are not shown as delivered messages and assistant turns on either side of compaction retain their separators.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100