{"version":"2.1.321","anchor":"remote-work-order-failures-now-carry-exit-codes","canonical_anchor":"remote-work-order-failures-now-carry-exit-codes","heading":"Remote runners that are no longer needed now exit cleanly","tier":"internal","area":"Elsewhere","scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321\/e\/remote-work-order-failures-now-carry-exit-codes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321","markdown":"### Remote runners that are no longer needed now exit cleanly\n\nEach reason a remote work order is refused now has an exit code, so unneeded runners exit with 0\n\n**What**\n\nA work order is a piece of work handed to a remote runner, which is a machine that runs Claude Code. Each reason a runner can refuse a work order now comes with an exit code. An exit code is a number a program returns when it stops, where 0 means success.\n\n- Orders that were replaced, paused or gone: exit 0\n\n- Orders that were already used: exit 1\n\nThree new refusal reasons were added: `queue_entry_gone`, `pool_moved` and `standby_gone`.\n\n**Why**\n\nRunners kept on standby now stop without reporting a failure when they turn out not to be needed.\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: org\n- Heads-up: no"}