{"version":"2.1.206","anchor":"observer-sidecar-persistence-and-reattach","canonical_anchor":"observer-sidecar-persistence-and-reattach","heading":"Observer Sidecar Persistence and Reattach","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.206\/e\/observer-sidecar-persistence-and-reattach","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.206","markdown":"### Observer Sidecar Persistence and Reattach\n\n**What**\n\nAgent observers (sidecars that monitor running tasks) can now persist across session restarts and reattach to their observed task rather than always spawning fresh.\n\n**Details**\n\n- Observer state is written to the conversation journal as `\"observer-ref\"` entries containing the observer task ID, agent type, and arming mode.\n- On a new turn, if a prior observer task ID is found in the journal and the task transcript is still readable, Claude reattaches to the existing observer rather than spawning a new one.\n- If the sidecar transcript is unreadable: \"[agentObserver] reattach: observer sidecar unreadable \u2014 fresh under a new id\"\n- If the prior observer's agent type doesn't match the declared type, a fresh observer is started.\n- Observer teardown now tombstones the sidecar via a `stopped: true` journal entry to prevent reattach loops.\n\n**Evidence**\n\nJournal type (search for `\"observer-ref\"`); reattach log (search for `\"observer sidecar unreadable\"`)"}