anthropics / anthropics/claude-code

[BUG] Cowork (web): near-identical assistant paragraphs re-rendered three times in one message block during/around auto-compaction

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

Nobody has claimed this yet.

area:claude-code-web area:cowork area:ui bug platform:web
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

  1. 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.)
  2. 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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.