Routines that run
when something happens.

Define a prompt, pick a model, attach a trigger. Opencode runs your routine on cron, on filesystem changes, or anywhere code lives.

Free for solo use · K to start anywhere
Opencode Routines

Routines

42 total runs · 7 routines

Routine
Trigger
Status
Duration
Started
PR review summary
run #42
cron
running
just now
Docs drift check
run #41
filesystem
success
0m 48s
23m ago
Nightly test runner
run #40
cron
failed
3m 12s
6h ago
Showing 1–3 of 42 runs
Triggers

Two kinds of when.

Schedule routines on a cron, or watch a directory and react to file changes — pull requests, log files, screenshots, anything.

cron On a schedule
0 9 * * 1-5 → weekday standup digest
filesystem On a file event
watch ~/screenshots → auto-OCR & file
Opencode Routines
← Routines

New Routine

Name
Prompt
Model
anthropic/claude-sonnet-4-6
Triggers
Cron daily at 09:00
Filesystem ~/projects
What you get

Boring infrastructure for
interesting work.

01

Bring your own model

Anthropic, OpenAI, or anything OpenAI-compatible. Pick a default, or per-routine.

02

Inspect every run

Streamed output, tool calls, cost, and a follow-up prompt — all in one timeline.

03

Run it anywhere

Local CLI, your laptop, or a tiny VPS. State stored as plain files. No vendor lock-in.

Anatomy of a run

Every run is a conversation you can return to.

See the prompt, the tools the model used, and the result. Reply with a follow-up and the routine picks up right where it left off.

Streaming output, no spinners.
Replayable from any step.
Exportable as JSON or Markdown.
Opencode Routines
← Runs

PR review summary

success ·Cron ·1m 32s
Review all open PRs in the main branch. For each PR:
  1. Summarize the changes
  2. Flag any potential issues
  3. Suggest reviewers based on code ownership
› Ran bash
› Ran bash

Found 3 open PRs:

#142 — Add rate limiting to API endpoints

Token bucket limiting on /api/routines. No edge-case tests — recommend adding timeout scenarios.

#139 — Fix SSE connection leak

Small focused fix. Looks good.

#136 — Migrate schema to support tags

Migration is not idempotent — add an IF NOT EXISTS guard.

PR
Risk
Suggested reviewer
#142
Medium
@sarah (api owner)
#139
Low
@david (infra)
#136
Medium
@sarah (database)
Opencode Routines

Settings

Providers

Anthropic Connected
OpenAI Connected

Favourite models

claude-sonnet-4-6 claude-haiku-4-5
Settings

Plug in your favourite models.

Connect a provider once, then pin the models you actually use. Switch per routine when you need cheaper, faster, or smarter.

Stop checking things.
Let routines do it.