Unclear It's unclear exactly what scenarios trigger the new retry/approval-carry machinery or what user-visible effect it has.
What
The tool that sends messages between sessions (send_message / notify) now passes fromPlugin: r.hookCaller through when delivering a direct message, both over the UDS relay (sendToUdsSocket) and via postInterClaudeMessage. This lets the storage layer know whether a send was initiated by a plugin hook. The tool's send call was also wrapped with new retry/approval-carrying machinery (carryApproval, adoptReask).
Why
Tracking whether a cross-session message originated from a plugin hook helps distinguish automated, hook-driven messages from user-initiated ones, which matters for auditing, permissions, and correctly handling retries/approvals for plugin-originated sends.
It's unclear exactly what scenarios trigger the new retry/approval-carry machinery or what user-visible effect it has.