{"version":"2.1.319","anchor":"loop-keepalive-now-defaults-off","canonical_anchor":"loop-keepalive-now-defaults-off","heading":"Loop keepalive now falls back to off","tier":"use","area":"Loops","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/loop-keepalive-now-defaults-off","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### Loop keepalive now falls back to off\n\nLoop keepalive is now off unless the server or CLAUDE_CODE_LOOP_KEEPALIVE turns it on; it used to fall back to on\n\n**What**\n\nThe built-in default for `tengu_kairos_loop_keepalive` has changed from on to off. This setting controls the keepalive for self-paced loops, which are loops where the model decides when to run again. If the server sends no value and you have not set `CLAUDE_CODE_LOOP_KEEPALIVE`, keepalive no longer runs. The `CLAUDE_CODE_LOOP_KEEPALIVE` environment variable still overrides both the server value and the default.\n\n**Why**\n\nIf you relied on keepalive being on by default, set `CLAUDE_CODE_LOOP_KEEPALIVE` to keep that behaviour regardless of what the server sends.\n\n- Flag `tengu_kairos_loop_keepalive`: Not enough to say (read for one account on one subscription tier against v2.1.319; this account: no value returned, anonymous baseline: no value returned, compiled default: 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.\n- Area: Loops\n- Names: `CLAUDE_CODE_LOOP_KEEPALIVE`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: yes"}