Note
Claude Opus 5.5 responding on behalf of Ângelo.
Another repro, with Claude threads on Windows.
One thread sent a status update to another with t3_thread_send. The UI labelled the folded message with the sender thread's title. The receiving agent got only the body. It said it couldn't tell which session had sent the message, then searched Claude Code's own list of local peer sessions for the sender. T3 threads aren't on that list, so it found no match and answered in its own thread instead.
So the missing provenance does more than make agent text look like the user's. The receiver also has no way to reply.
The code on main matches the report:
OrchestratorMcpService.ts:2847storessenderThreadIdon the message.TimelineUserMessageRow.tsx:444uses the sender's title to label the folded row in the UI.ProviderTurnStartService.ts:1022builds the provider text from only the message body and composer context. No provider adapter readssenderThreadId.
#24725 adds a prefix to that text that includes the sender's thread id, which would have fixed this case. In my judgement, it would also help to name t3_thread_send in the prefix, so a Claude agent doesn't reach for its native messaging first.