{"version":"2.1.273","anchor":"scheduled-taskscron-gains-project-scoping-via-createdinproj","canonical_anchor":"scheduled-taskscron-gains-project-scoping-via-createdinproj","heading":"Scheduled\/cron task ownership checks are tightened to avoid running tasks from other checkouts","tier":"notice","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.273\/e\/scheduled-taskscron-gains-project-scoping-via-createdinproj","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.273","markdown":"### Scheduled\/cron task ownership checks are tightened to avoid running tasks from other checkouts\n\nScheduled and cron tasks are now filtered more strictly so tasks copied from another checkout or project don't run here\n\n**What**\n\nClaude Code now applies extra checks before treating a pending scheduled or cron task as belonging to the current session:\n\n- A new async helper collects the creator session IDs referenced by pending tasks (other than the current session) and checks whether a transcript file exists on disk for each; tasks whose creator has no transcript are excluded from the set this session will run, with a log line flagging that a `scheduled_tasks.json` copied from another checkout looks like this.\n\n- Tasks now also carry a `createdInProject` field, matched against the current project's normalized path, in addition to the existing `createdBySessionId`\/pid-based ownership check, before a task is treated as belonging here for missed-task and firing logic.\n\n**Why**\n\nWithout these checks, a `scheduled_tasks.json` file copied between checkouts or projects could cause tasks meant for a different session or project to run in the wrong place; these changes catch that case.\n\n- Area: Elsewhere\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}