{"version":"2.1.234","anchor":"live-artifact-comment-monitors-carry-across-backgrounding-an","canonical_anchor":"live-artifact-comment-monitors-carry-across-backgrounding-an","heading":"Live Artifact comment monitors carry across backgrounding and exit","tier":"notice","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234\/e\/live-artifact-comment-monitors-carry-across-backgrounding-an","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234","markdown":"### Live Artifact comment monitors carry across backgrounding and exit\n\nArtifact comment watchers now survive backgrounding and exit, and tell you when one couldn't be resumed.\n\n**What**\n\nMonitors that watch for comments on your Artifacts are now handed off when a session is backgrounded or exits mid-flight, so the session that takes over resumes watching instead of silently dropping the work. The confirmation dialog counts parked monitors separately from the other work being carried over and tells you that automatic replies keep running in the background session, with a summary waiting when you return. When a monitor cannot be resumed, the new session says which one and why.\n\n**Details**\n\n- Handoff runs by default and is turned off entirely by the `CLAUDE_DISABLE_ADOPT` environment variable; the background-exit path is skipped separately by `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`, which forces the count of drainable monitors to zero.\n- The handoff record and the exit-state snapshot each carry a list of live Artifact entries holding the artifact slug, title, write time, and the number of unattended replies that monitor has already sent.\n- Exit accounting separates monitors from ordinary tasks and splits them into drainable and carried, under a new `monitor_ws` kind; separate holders track watches that were never resumed and those left over from an exit retry.\n- Entries older than the freshness window are individually marked stale and counted as `frame_live_stale` when the new session claims the handoff, and a claim that carried permission to keep auto-replying loses that permission if every entry in it was stale, recorded as `carried_consent_stale_dropped`.\n- Consent entries for live artifacts are merged across job records up to a cap, and hitting the cap is reported as `merged_consent_capped`.\n- A monitor that does not come back produces a specific notice: backgrounded too long (`stale_handoff`), comments unavailable (`comments_unavailable`), automatic replies turned off, or a monitor you had already stopped (`stop_latched`, shown as a notice rather than a warning).\n- Failure paths are recorded on `artifact_live_subscribe` as `consent_carry_write_failed`, `consent_carry_checkpoint_failed` and `adopt_spawn_failed`.\n- The handoff only runs when there are carried artifact entries, and several branches depend on whether the session is itself a background session.\n- The carry-over count no longer consults the `tengu_bg_leftarrow_inprocess` gate, so it is computed the same way for everyone.\n\n**Evidence**\n\n`Artifact comment monitor for ${e} didn't resume: automatic replies are turned off in this session.`, `drainableMonitors`, `frameLiveTaskIds`, `carried_consent_stale_dropped`, `continue in the background session. You'll see a summary of the replies when you return.`\n\n- Flag `tengu_bg_leftarrow_inprocess`: Not enough to say (read for one account on one subscription tier against v2.1.234; this account: no value returned, anonymous baseline: no value returned, compiled default: on)\n- Area: Artifacts\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}