with one click
with one click
Start, stop, restart, and check the status of the agent-cron daemon. Use when you need to manage the daemon lifecycle, check if the daemon is running, restart after config changes, or troubleshoot daemon startup issues.
Create and configure agent-cron job files from natural language descriptions.
Edit and delete existing agent-cron job files through natural language conversation.
Monitor job execution, view history, check logs, diagnose failures, and review aggregate statistics for agent-cron scheduled jobs. Use when asked about job status, execution results, or failures.
Execute a universal CLOD agent definition and orchestrate referenced skills.
| name | installing-agcron |
| description | Install, configure, and verify the agent-cron daemon. |
| last_validated | "2026-03-21T00:00:00.000Z" |
This skill covers installing agent-cron, configuring it, and verifying the installation. Pre-built binaries are available for macOS and Linux — no Rust toolchain required.
brew tap SpillwaveSolutions/agcron
brew install agcron
Homebrew installs to a standard PATH location automatically.
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/SpillwaveSolutions/agent-cron/releases/latest/download/agent-cron-installer.sh | sh
The installer places agcron at ~/.cargo/bin/agcron. If the binary is not found after install:
export PATH="$HOME/.cargo/bin:$PATH"
# Add this line to ~/.bashrc or ~/.zshrc for persistence
On macOS, if Gatekeeper prevents the binary from opening:
xattr -cr $(which agcron)
The daemon reads its configuration from a TOML file.
By default, the config file is at:
~/.config/agent-cron/config.toml
Override the config file path with the AGENT_CRON_CONFIG environment variable:
export AGENT_CRON_CONFIG=/path/to/custom/config.toml
Run agcron init in any project directory to create the required directory structure:
cd /path/to/your/project
agcron init
This creates:
.cron/jobs/ directory for job definitions~/.config/agent-cron/config.toml to register the project directory in project_roots (creates the config file with defaults if it does not exist)The config file uses TOML format. All fields have sensible defaults. A minimal config only needs project_roots:
project_roots = ["/path/to/project1", "/path/to/project2"]
Key configuration fields:
claude, opencode (default: "claude")"claude-3-5-sonnet")~/.config/agent-cron/agent-cron.sock)See skills/agcron/installing-agcron/references/config-reference.md for the complete field reference.
Config values support ${VAR} syntax for environment variable expansion:
project_roots = ["${HOME}/projects/my-app"]
socket_path = "${XDG_RUNTIME_DIR}/agcron.sock"
Missing variables expand to an empty string.
Two environment variables override config file values directly:
AGENT_CRON_CONFIG -- Path to the config file (overrides the default location)AGENT_CRON_SOCKET -- Unix socket path (overrides socket_path in config)Check that the binary is installed and accessible:
agcron --version
Check the daemon status:
agcron status
This connects to the daemon's Unix socket and reports whether it is running, how many jobs are loaded, and current concurrency usage.
Start the daemon (foreground):
agcron daemon
To run in the background (daemonize):
agcron daemon -d
Or run via cargo during development:
cargo run --manifest-path rust/Cargo.toml -- daemon
The daemon will:
~/.config/agent-cron/config.toml (or create a default)project_roots for .cron/jobs/*.md filescargo test --manifest-path rust/Cargo.toml
PATHRUST_LOG=debug to see detailed config loading outputagcron status or remove the stale socket fileIf no pre-built binary exists for your platform, or you need a development build, see:
skills/agcron/installing-agcron/references/build-from-source.md
Requires Rust 1.75+ and cargo (install via rustup).