Skip to main content

nightsitter

Stop babysitting your AI agents.

You kicked off a Claude Code session (or a cron'd agent job) and walked away. Six hours later you discover it's been sitting on a permission prompt since minute nine — or looping, or dead. nightsitter is the night-shift watchdog: it tells the difference between working, stuck, waiting for you, and dead, and pings your phone only when it matters.

pipx install nightsitter

nightsitter watch                      # watch all local Claude Code sessions
nightsitter status                     # one-shot fleet snapshot
nightsitter run -- python nightly.py   # dead-man wrapper for any command
nightsitter daemon install             # run the watcher as a service (launchd/systemd)

What it detects

State Meaning
🟢 active transcript activity within the stall window
🟡 stalled process alive, mid-task, no activity — alive but stuck
🟠 waiting process alive, turn closed — waiting on your approval/input
🔴 dead process gone mid-task
⚪ done finished cleanly (silent by default)

Notifications

Zero-signup default: ntfy.sh. Set a topic and install the ntfy app:

export NIGHTSITTER_NTFY_TOPIC="your-secret-topic"
nightsitter test-notify

Telegram and desktop notifications are also supported — see ~/.nightsitter/config.toml:

[notify]
ntfy_topic = "your-secret-topic"
# telegram_token = "..."
# telegram_chat_id = "..."
# desktop = "on"

Run it as a service

The watcher only helps if it outlives your terminal:

nightsitter daemon install    # macOS launchd (KeepAlive) / Linux systemd --user
nightsitter daemon status
nightsitter daemon uninstall

Re-run install with different flags (--stall-after 20) to update in place.

Dead-man wrapper for cron agents

nightsitter run --label nightly-report --max-minutes 45 \
  --heartbeat-url https://hc-ping.com/<uuid> -- python nightly.py
  • alerts on failure or when the kill switch fires (SIGTERM → SIGKILL)
  • pings your healthchecks.io check on success, /fail on failure
  • passes stdio through untouched

Status

v0.1 — local CLI, free forever (MIT). A hosted version (alert history, multi-machine fleet view, mobile) is planned — founding-user preorders coming with the launch.

Metadata

Release files for nightsitter 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nightsitter 0.1.0
File Size Uploaded
nightsitter-0.1.0.tar.gz 23.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nightsitter 0.1.0
File Interpreter ABI Platform
nightsitter-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.2 kB

Release files / nightsitter-0.1.0.tar.gz

Download URL nightsitter-0.1.0.tar.gz
Size 23.3 kB
Tags Source
SHA-256 checksum
How to use checksums
44e3b8652e184cb79bd7a3dcb6582f1e04a6a30ac68365eb2f0051470282ba28
BLAKE2b-256 checksum
How to use checksums
596623977db9e0a6c4c60081cc7c832b830e1e5432716cc15a8ba383471e7df1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / nightsitter-0.1.0-py3-none-any.whl

Download URL nightsitter-0.1.0-py3-none-any.whl
Size 21.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b1f08460d6a71875a88bbb1b04b4b583c17d62895829f8947de976ceee43af7
BLAKE2b-256 checksum
How to use checksums
0f62178baeb6176d3103754658f843fee5e3205fd858afca473fce8097a7a399
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page