Unclear It is not known what decides when the signals are held back during background-only waits.
A keep-alive signal is a small message a session sends so the other side knows it is still running. This applies only when CLAUDE_CODE_REMOTE is set, meaning Claude Code is running as a remote session.
Keep-alive handling while waiting at the end of a turn has been reworked:
- Claude Code records what kept each wait going, such as a shell command, a monitor, a subagent (a helper agent Claude Code starts) or a scheduled wakeup.
- When the wait ends, it reports how many signals it sent, how long it waited on background tasks alone, and what held the wait.
- When only background tasks are pending and a further condition holds, it holds back the signals and sends one only at set intervals.
Before, the session simply sent a keep-alive signal whenever its conditions were met.
This changes when remote sessions send keep-alive signals, which could affect whether a remote session that is only waiting on background work stays alive.
It is not known what decides when the signals are held back during background-only waits.