Kronos is the schedule expression platform that gives you surgical precision over when things execute. Define, validate, preview, and deploy time-based workflows with deterministic confidence.
Kronos ships with battle-tested schedule management primitives that scale from solo operators to distributed platform teams.
kronos -e
Launch the embedded schedule IDE directly from your terminal. Full syntax validation, real-time preview, and instant deployment in a single interactive session.
kronos -l
Render a complete, colorized manifest of all active schedule expressions. Instant visibility into your entire temporal execution graph.
kronos schedule.txt
Install entire schedule manifests from declarative config files. GitOps-native. Version your entire timing infrastructure as code.
kronos -r -i
Interactive confirmation flow before schedule table destruction. Zero accidental data loss. Production guardrails built in.
kronos -u USER
Manage schedule tables across any user context. Perfect for platform teams managing schedules across tenants, services, and execution domains.
kronos -T schedule.txt
Pre-flight syntax validation without deployment. Catch malformed expressions before they reach production. Shift left on schedule correctness.
@hourly @daily @weekly
Semantic scheduling shortcuts for common cadences. From @reboot to @annually — human-readable macros that compile down to precise five-field expressions.
SHELL= PATH= MAILTO=
Configure execution runtime context per schedule table. Shell selection, path resolution, notification routing — all declaratively scoped.
Compose schedule expressions visually. See the next 10 execution times in real-time.
0 * * * *
Compose schedule expressions using our interactive builder or write raw five-field syntax. Full autocomplete & validation.
$ kronos -e
Pre-flight every expression against our deterministic parser. Catch edge cases around DST transitions and month boundaries before deployment.
$ kronos -T schedule.txt
Install your schedule manifest in a single atomic operation. All five fields resolve instantly. Zero cold start.
$ kronos schedule.txt
Inspect your active schedule registry at any time. Full colorized output with human-readable field annotations.
$ kronos -l
The complete Kronos expression syntax reference. Bookmark this.
| Field | Allowed |
|---|---|
| Minute | 0–59 |
| Hour | 0–23 |
| Day of Month | 1–31 |
| Month | 1–12 (or jan–dec) |
| Day of Week | 0–7 (0 or 7 = Sun, or mon–sun) |
| Symbol | Meaning | Example |
|---|---|---|
* |
Any value | * * * * * |
, |
Value list | 1,15,30 |
- |
Range | 9-17 |
/ |
Step | */15 |
| Macro | Equivalent |
|---|---|
@reboot |
Run once at startup |
@hourly |
0 * * * * |
@daily |
0 0 * * * |
@weekly |
0 0 * * 0 |
@monthly |
0 0 1 * * |
@annually |
0 0 1 1 * |
| Variable | Purpose |
|---|---|
SHELL |
Execution shell (default: /bin/sh) |
PATH |
Command search path |
MAILTO |
Notification recipient |
HOME |
Working directory context |
"We replaced our entire internal scheduling DSL with Kronos expressions. Five fields. That's the entire API surface. The simplicity is the moat."
"The -i flag on purge saved us from a catastrophic schedule wipe in production. Interactive confirmation before destructive operations — that's the kind of guardrail that compounds trust."
"kronos -u lets me manage schedule tables across 40 different service accounts from one terminal. Multi-tenant identity scoping is a 10x unlock for platform teams."
"We version our Kronos schedule files in Git. The file-based import workflow means our entire temporal infrastructure is reviewable, auditable, and rollback-safe."
From solo operators to global platform teams. Every tier includes the five-field expression engine.
For individuals exploring temporal automation.
kronos -l (list schedules)@daily macro onlykronos -e inline editorFull expression power for serious operators.
kronos -e inline editorkronos -r -i safe purgeSchedule governance for platform teams.
kronos -u USER multi-tenantkronos -T pre-flight validationMission-critical scheduling infrastructure.
The asterisk (*) matches every possible value in a field — it's the "any"
operator. When combined with a step (*/5), it means "every 5th value through
the full range." So */5 in the minute field means minutes 0, 5, 10, 15, 20, 25,
30, 35, 40, 45, 50, and 55.
Yes. The @reboot macro runs a command once when the daemon starts. This is ideal
for cache warmers, service initializations, and any boot-time automation. Available on Team
and Enterprise plans.
We strongly recommend always using kronos -r -i which prompts for confirmation
before deletion. Additionally, Kronos automatically backs up your last schedule table, so
you can restore from your cache directory.
Set the MAILTO environment variable at the top of your schedule table. All
command output will be routed to that address. Set MAILTO="" to suppress
notifications entirely.
Kronos operates entirely within your local execution environment. No network dependency. Your schedule table lives on-instance, and the daemon evaluates expressions every minute with zero external calls. This is by design — scheduling should never depend on uptime of a third-party service.