What
A remote session is one where Claude Code runs somewhere else and a lightweight client (a thin client) shows it and sends your input. A turn is one round of Claude working on a request. The code that tracks the end of a turn in these sessions has changed.
onTurnStoppedis a new callback. The thin client calls it when a permission denial interrupts the turn. Before, only the interrupt itself was handled. The remote-session handler also gainsmarkRemoteTurnStopped.onTurnCompletenow receives the message and passes it on tomarkRemoteTurnComplete. Before,markRemoteTurnComplete()was called with nothing.
Why
Remote-session screens can now treat a turn you stopped, for example by denying a permission, differently from one that finished normally. What you see when a remote turn ends may change as a result.