{"version":"2.1.290","anchor":"silent-turn-reminder-can-now-be-triggered-by-elapsed-seconds","canonical_anchor":"silent-turn-reminder-can-now-be-triggered-by-elapsed-seconds","heading":"Silent-turn reminder can now trigger after a number of seconds","tier":"notice","area":"System Reminders","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/silent-turn-reminder-can-now-be-triggered-by-elapsed-seconds","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Silent-turn reminder can now trigger after a number of seconds\n\nThe silent-turn reminder can now fire after a set number of silent seconds, configured by CLAUDE_CODE_SILENT_TURN_REMINDER_SECONDS or remote config\n\n**Unclear.** It is not clear where the remote seconds setting comes from or whether the reminder is on by default.\n\n**What**\n\nThe silent-turn reminder is a note Claude Code adds to the conversation when Claude has gone a while without saying anything to you. A \"turn\" is one step of Claude working. Until now the reminder could only be set off by counting turns. It can now also be set off by elapsed time:\n\n- `CLAUDE_CODE_SILENT_TURN_REMINDER_SECONDS`, a new environment variable (a setting passed to Claude Code from your shell), switches on the time-based trigger.\n\n- `silent_turn_reminder_seconds`, a remote-config value, is read when the environment variable is not set. It must be a finite number of at least 1, and it is rounded down.\n\n- When a seconds value exists, the reminder fires once there has been at least 1 silent turn and the silent stretch has lasted at least that many seconds.\n\n- When no seconds value exists, the old rule still applies. A count must stay below 3, and the turn count must be at or above the turns threshold. That threshold comes from `CLAUDE_CODE_SILENT_TURN_REMINDER_TURNS` or the `tengu_hushed_lark` flag, and defaults to 5.\n\n- The reminder text is `The user hasn't heard from you in a while.` unless `CLAUDE_CODE_SILENT_TURN_REMINDER_TEXT` or `tengu_hushed_lark_text` replaces it.\n\n- The scan that decides whether to remind now also returns `silentSince`, the time the silent stretch began. Before, it returned only `turnsSinceLastReminder` and `remindersInStretch`.\n\n**Why**\n\nOne long turn can take a lot of time without adding much to the turn count. A seconds-based trigger lets the reminder respond to how long you have actually been waiting. The time-based trigger only applies when the environment variable or the remote-config value supplies a number. Otherwise the reminder keeps using the turn count.\n\n- Flag `tengu_hushed_lark`: Not enough to say (read for one account on one subscription tier against v2.1.290; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) 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.\n- Flag `tengu_hushed_lark_text`: Not enough to say (read for one account on one subscription tier against v2.1.290; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) 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.\n- Area: System Reminders\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}