Skip to content

norc-cli

norc-cli is a headless cron job scheduler. Install it on any server or machine, pair it once via a device code, and it runs unattended as a background service — syncing crontab changes, watching for failures, no GUI required.

npm, brew, and apt are live today. winget/choco/scoop are packaged but land with the first tagged release.

ChannelPlatformCommand
npmmacOS, Linux, Windowsnpm install -g norc-cli
brewmacOSbrew install norcapp/norc/norc-cli
aptLinuxsee apt setup below
wingetWindowswinget install norc.norc-cli (coming soon)
chocoWindowschoco install norc-cli (coming soon)
scoopWindowsscoop bucket add norc https://github.com/norcapp/scoop-norc, then scoop install norc-cli (coming soon)

apt needs a one-time repo + key setup before apt install works — it’s not a single command like the others:

Terminal window
curl -fsSL https://apt.norc.app/norc.gpg.asc | sudo gpg --dearmor -o /usr/share/keyrings/norc.gpg
echo "deb [signed-by=/usr/share/keyrings/norc.gpg] https://apt.norc.app stable main" | sudo tee /etc/apt/sources.list.d/norc.list
sudo apt update
sudo apt install norc-cli
Terminal window
$ norc pair
enter this code in the norc web app to pair this machine: R2M-4XQ
paired. machine id: m_9c21f0
$ norc jobs add "0 3 * * *" /opt/backup/nightly.sh
added job 6d4f1b
$ norc service install
registered per-user background service (systemd --user)
norc service installed.
$ norc jobs list
6d4f1b enabled 0 3 * * * /opt/backup/nightly.sh
(unmanaged) enabled 0 4 * * 0 /etc/scripts/legacy-rotate.sh

Install, pair, add a job, and register the background service — four commands, then it’s hands-off.

  • Per-user background service — installs as a systemd --user unit, a macOS LaunchAgent, or a logon-triggered Windows Scheduled Task. No root/admin required, starts on login.
  • Safe crontab writes — only touches the jobs it manages; foreign and hand-written entries are preserved untouched.
  • Cross-device sync — jobs and machines stay in sync across every device you sign in from, including norc-desktop on the same machine.
  • Run history & failures — see when jobs ran, what they returned, and which ones failed.
  • AI schedule generation — describe a schedule in plain language and turn it into a correct cron expression (bring your own key).
  • End-to-end encrypted remote admin — every command between the norc apps and this machine is sealed to the machine’s own key (ECDH P-256 + AES-256-GCM); the relay in between only sees ciphertext. Requires norc-cli 0.2.0 or later — older versions show as “Update required”.
  • Plays well with norc-desktop — if both are installed on the same machine, norc-cli warns at install time and every startup instead of silently racing for the same crontab.
Terminal window
norc usage # last 30 days: headroom, health, runs per day, activity, top failing jobs, machines
norc usage --days 7 # 7-day window
norc usage --json # the raw summary, for scripts
norc usage --plain # ASCII-only glyphs (also automatic when the locale is not UTF-8)

The same numbers as the Usage page in the vault, drawn in your terminal. Colour is skipped when output is piped, when NO_COLOR is set, or with --no-color. Needs a paired machine (norc pair).

Add --debug (or set NORC_DEBUG=1) to any command for step-by-step tracing: which backend URLs/config paths are in play, and full request/response detail for every network call (API keys and tokens are always shown as a redacted prefix, never in full). If a command fails with a generic message like pairing failed (500), rerun it with --debug to see the actual server response instead of guessing.