Local workers

Local workers — run agent tasks on your own machines

Run `app worker` on any computer after `app login` and it becomes a private worker for your account: it polls app.nz, leases agent tasks created with provider "local", executes them with local engines (our codex fork with automatic fallback to mainline codex, claude, cursor-agent, gemini, grok), and reports steps/diffs/PRs into the normal task trace. Leasing is user-scoped: your workers authenticate every /api/worker call with your API key and only ever see jobs whose user matches your account; fleet workers use the shared X-Worker-Token and never lease provider=local jobs. Job payloads and logs pass through secret redaction, and only allowlisted engines execute. By default a local worker takes only your provider=local jobs; --any-provider opts it into all of your jobs.

basehttps://app.nz
GET/api/agents/workersList your registered machines with online state and activeJobssession
POST/api/worker/registerWorker announces itself (Bearer API key for user workers; X-Worker-Token for the fleet)API key
POST/api/worker/heartbeatLiveness + active job count; drives the online indicatorAPI key
POST/api/worker/leaseAtomically claim the oldest runnable job you ownAPI key
POST/api/worker/completeReport a leased job resultAPI key
POST/api/worker/job-credsShort-lived credentials for a leased jobAPI key
app worker flags
--name <name>stringMachine display name; defaults to the hostname.
--dir <path>stringWorking directory for repo checkouts.
--engines <list>stringComma-separated engine allowlist, e.g. codex,claude. Defaults to every installed engine.
--any-providerbooleanAlso lease your non-local (cloud-queued) jobs, not just provider=local.
--poll <dur>durationPoll interval for the lease loop.
--lease <n>integerMax jobs to run concurrently.
--oncebooleanLease at most one job, run it, exit (cron-friendly).
--dry-runbooleanShow what would be leased and run without executing.
app worker statuscommandList your machines, online state, and active jobs from the CLI.
Turn a desktop into a worker, then fire a task at it from anywhere
# on the machine that will do the coding
app login
app worker --name desktop --dir ~/agent-work --engines codex,claude

# from any device (or the /agent composer with provider "Your machine")
app agent run --prompt "add a /health endpoint with a test" \
  --repo you/api --provider local --model app/auto-code

# see your machines (same data as the studio chips)
app worker status
curl -s https://app.nz/api/agents/workers -H "Authorization: Bearer pk_live_..."