What
In remote sessions, which run Claude Code in the cloud while you watch from another client, the client shows the conversation as rows of a transcript. Claude Code now keeps track of rows the client has not received yet:
- A new ledger records the time spans during which rows are still owed to the client. It saves them as
client_rows_owedin the session's stored details and resends rows for the spans that remain. - Spans that have been retried the maximum number of times are dropped.
- The ledger is used through a
guardsClientRowsoption controlled by a server-side switch,tengu_patient_ledger, which falls back to off when the server sends no value. Which sessions get it is decided on the server. - The client now tracks owed rows (
clientRowsOwed). While any rows have been resent, urgent control requests no longer jump ahead in the queue. Before, they jumped the queue whenever a session was not holding across model calls. - When a release arrives carrying assistant or user rows, the whole-turn hold now ends earlier.
Why
The aim is that a remote session's transcript is not left missing rows, for example across a restart, and that urgent requests do not overtake rows being resent. It is controlled from the server, so you may not see any difference.
tengu_patient_ledger Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.315: off
These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.
Read once, for one account on one subscription tier, against v2.1.315. It isn't a statement about your account. What a flag value here can and cannot tell you
New in this build: tengu_patient_ledger