Runs that start while you sleep.
Schedule the big refactor for tonight, chain the tests and the docs behind it, and answer the one question it has from your phone. Worca keeps going, pauses when it has to, and never gives up a run on its own.

Once, on repeat,
or one after another.
Pick a time instead of pressing Start: once, every weekday, or on a rule of your own. A run can also wait for another run and start on the branch it left, so a refactor, its tests and the docs run in order.
A chain of runs, each on the last one's branch
- ⛌A failure stops the chainThe next run doesn't start unless you tell it to. A repeating schedule pauses itself after three failures.
- ❝Ask Worca schedules for you“Run the dependency upgrade every weekday at 2am” becomes a card whose main button is Schedule.
- ▤An activity feedEvery miss, failure and self-pause, listed in the Schedules view.

$ worca --project . --prompt "Upgrade dependencies" --at "tomorrow 02:00" $ worca --project . --prompt "Upgrade dependencies" --every "weekdays 02:00" $ worca schedule list
Start from wherever
the work lives.
A prompt, a markdown brief, or an issue from a tracker. A finished run reports back to the issue it started from.
Runs pause.
Only you stop them.
A model-side 500, a rate limit or an expired login no longer ends a run. It pauses with its worktree intact, Resume retries the failed step in place, and the task source is told the run needs a human, not that it failed.
What happens when something goes wrong
- ↻Resume survives restartsInterrupted agent sessions are re-attached, even after the server or the machine restarts.
- ⌂Nothing is torn downThe worktree, the branch and uncommitted agent work stay where they were.
- 3Honest exit codes for CIAn unattended --yes run that parks itself exits 3, so a wrapper knows to come back later.
- !Errors that say what to doWorca checks Claude Code is signed in before it starts, and says so in plain words with a link to fix it.
Drive runs from
your pocket.
Two-way channels come bundled: get notified on questions, finishes, failures and cost pauses, and answer back with commands. Only people on the allowlist can control a run.
A form question answers in chat too: /answer *a1 verdict=changes | priority=nav,banner
See your runs
from any terminal.
Which run paused, and why, when all you have is SSH? worca runs reads Worca's records directly, so no server needs to be running. Filter by status or project, use a short id, or get JSON for scripts.
$ worca runs ID STATUS STARTED PROJECT TITLE c88a0c7e paused (usage limit) 40m ago nimbus-crm Rate-limit the contact form 7b3fde66 done 1d ago lumen-docs Sitemap from git dates a72fd3ac done 2d ago nimbus-crm CSV export for contacts $ worca runs c88a # any unique start of the id; --json for scripts $ worca resume c88a0c7e # picks up where it stopped
Ship work you
didn't babysit.
One npm install on macOS, Linux or Windows. Or a container, or a shared server for the team.