Worca
Automation

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.

worca — schedules
Schedules view — two timed runs and a chain of two runs waiting for the one before
Schedules & chains

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

Refactor the contacts serviceThu 02:00scheduled
Tests for the contacts serviceafter the refactor, on its branchwaiting
Update the API docsafter the tests, on their branchwaiting
  • ⛌
    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 — schedule this run
New pipeline — the Schedule this run sheet with once and repeating choices, quick picks and a start-time preview
terminal
$ worca --project . --prompt "Upgrade dependencies" --at "tomorrow 02:00"
$ worca --project . --prompt "Upgrade dependencies" --every "weekdays 02:00"
$ worca schedule list
Task sources

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.

A promptDescribe the task in the UI, the CLI, a chat channel or Ask Worca.
A markdown briefPaste a spec or a partial plan; --file ./brief.md on the CLI.
GitHub IssuesPick an issue and run it. The result is posted back to the issue when the run ends.
Plugin sourcesTask sources are plugins, with a profile per tracker and bindings per project or workspace.
Pause, not fail

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

Network, rate limit500s, timeouts, 429 / 529retry ×3 → pause
Auth, quotaa backoff can't log you back inpause at once
Usage limitsubscription or free-request limitpause
Anything unknownused to be a terminal errorpause
You press Stopthe only way a run ends earlystop
  • ↻
    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.
  • 3
    Honest 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.
Chat control

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.

TelegramAnswer clarify questions from anywhere.
SlackLoop gates and finishes, right in the channel.
DiscordWatch costs and pause runaway runs.
Microsoft TeamsApprovals without leaving the meeting.
/status/cost/answer/approve/pause/resume/stop

A form question answers in chat too: /answer *a1 verdict=changes | priority=nav,banner

Terminal

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.

terminal
$ 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
Free and open source · MIT

Ship work you
didn't babysit.

One npm install on macOS, Linux or Windows. Or a container, or a shared server for the team.