In the browser
The browser shows the job list and every run. Open a job to run it now, pause it, edit the prompt, or delete it.
OpenCron runs OpenCode jobs in a sandbox on a home server. Each job has a workspace folder and a prompt.
jobs
| name | schedule | workspace | next | last |
|---|---|---|---|---|
| morning mail | 0 8 * * 1-5 | notes | 29 Oct 2026, 08:00 | ok |
| invoice filing | 0 18 * * 1-5 | books | 28 Oct 2026, 18:00 | failed |
| weekly review | 0 9 * * 1 | notes | paused | ok |
01
/cron weekdays at 8am, timezone America/Denver, workspace notes: summarize unread mail
Run that command from another computer, or fill in the same fields in the browser. The workspace is a folder name inside the sandbox volume. New jobs use the timezone and model from Settings.
new jobdefaults from Settings
0 8 * * 1-5opencode-go/kimi-k302
After each session, OpenCron asks the model to write a summary. It says whether the task finished and what changed. If the model reports an unfinished task, the run fails even when OpenCode exited cleanly.
summary
Summarized 14 unread messages into notes/today.md. - Skipped newsletters - Flagged two threads that need a reply
output
write
notes/today.md
03
The browser shows the job list and every run. Open a job to run it now, pause it, edit the prompt, or delete it.
Connect OpenCode to the MCP endpoint. /cron list and /cron results for notes return the same records. A skill file makes /cron the short command. You can also ask in plain language.
04
CRON_TOKEN signs you in to the web UI. The API and MCP accept the same token.
The agent's tools stay inside its workspace folder. The sandbox drops all capabilities and prevents privilege escalation. The app reaches it over the Compose network.
The app serves port 8787 on a private network such as Tailscale. A Go key saved in Settings stays on the server.
Deploy with the Compose file in the repository. Setup needs a token, a Go key, a timezone, and a model. Deploy notes
OpenCode Go
connected key saved on this server
defaults
timezoneAmerica/Denver
default modelopencode-go/kimi-k3