{"version":"2.1.305","anchor":"workflow-agent-journal-replaced-key-handling-result-serial","canonical_anchor":"workflow-agent-journal-replaced-key-handling-result-serial","heading":"Resumed workflows handle replaced and unsaved agent results more carefully","tier":"notice","area":"Workflows","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/workflow-agent-journal-replaced-key-handling-result-serial","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### Resumed workflows handle replaced and unsaved agent results more carefully\n\nWorkflow runs now track replaced journal entries, normalize saved results, and warn when an agent() result cannot be saved for resuming\n\n**What**\n\nIn a workflow, each `agent()` call hands work to a separate agent, and Claude Code keeps a journal (a saved record) of each call's result so a stopped run can resume without redoing everything. Several things changed in that journal:\n\n- Entries that were replaced or demoted are now tracked, and a resumed run rebuilds its chain from the journal when entries were replaced.\n\n- Saved results are normalized into a consistent form before saving.\n\n- If a result cannot be saved, a warning is logged and a resumed run will re-run from that call.\n\n- When journaling is off, results that are not objects are refused.\n\n- Agent state is now kept separately for each running context.\n\n**Why**\n\nResuming a workflow becomes more reliable, and when a result could not be saved you are warned that the run will repeat from that point instead of it failing silently.\n\n- Flag `tengu_workflow_schema_lint_enforce`: Not enough to say (read for one account on one subscription tier against v2.1.305; this account: no value returned, anonymous baseline: no value returned, compiled default: on) 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: Workflows\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}