{"version":"2.1.236","anchor":"self-hosted-worker-api-run-one-replaced-unrestricted-paths-r","canonical_anchor":"self-hosted-worker-api-run-one-replaced-unrestricted-paths-r","heading":"Self-hosted worker API: run_one replaced, unrestricted_paths removed","tier":"use","area":"Self-Hosted Runner","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236\/e\/self-hosted-worker-api-run-one-replaced-unrestricted-paths-r","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.236","markdown":"### Self-hosted worker API: `run_one` replaced, `unrestricted_paths` removed\n\nThe worker API swaps run_one for handle_item and drops the unrestricted_paths file option.\n\n**What**\n\nThe worker no longer exposes `run_one()` \/ `runOne()`. The replacement, `handle_item()` \/ `handleItem()` \/ `HandleItem()`, services one work item that has already been claimed and reads its identifiers from `ANTHROPIC_*` environment variables, so claiming is now the job of `run()` or the mid-level poller. The file-tool option `unrestricted_paths` is gone and raises if passed; use `allowed_roots` or `read_only_roots` instead.\n\n**Details**\n\n- Webhook-driven wake-up is rewritten to drain work through the poller, with a warning against awaiting that drain inside the HTTP request handler.\n\n**Evidence**\n\n`The old `unrestricted_paths` option is no longer accepted (passing it raises); add directories to `allowed_roots` instead.`\n\n- Area: Self-Hosted Runner\n- Names: `handle_item`, `allowed_roots`, `read_only_roots`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5"}