___ __ ____ _
/ | ____ ____ ____ / /_/ __ \(_)___ ____ _
/ /| |/ __ `/ _ \/ __ \/ __/ /_/ / / __ \/ __ `/
/ ___ / /_/ / __/ / / / /_/ ____/ / / / / /_/ /
/_/ |_\__, /\___/_/ /_/\__/_/ /_/_/ /_/\__, /
/____/ /____/
Daily health check ping for AI coding CLI tools
Sends a ping to your AI coding CLI (Claude, Codex, OpenCode, or Gemini) on a daily schedule. If the call fails, it retries up to 10 times with increasing backoff. Each run produces a timestamped log file.
| CLI | Default Model | Tested |
|---|---|---|
claude |
claude-opus-4-6 |
Yes |
codex |
gpt-5.4 |
Yes |
opencode |
claude-opus-4-6 |
Yes |
gemini |
gemini-3.1-pro-preview |
Yes |
| Target | Scheduler | Status |
|---|---|---|
| macOS | launchd | Supported |
| Linux | systemd | Supported |
Tested on: Ubuntu, Debian, Alpine, Fedora, openSUSE, Kali, Rocky, CentOS, Amazon Linux, Oracle Linux, AlmaLinux, Gentoo
git clone https://github.com/hletrd/agentping.git && cd agentping && ./install.shThat's it. Runs daily at 07:00 KST with Claude Opus by default. Edit config.sh to change CLI, model, or schedule.
- One of: Claude Code, Codex, OpenCode, or Gemini CLI — installed and authenticated
- Bash 4+
- macOS (launchd) or Linux (systemd)
git clone https://github.com/hletrd/agentping.git
cd agentpingEdit config.sh:
# CLI tool: claude | codex | opencode | gemini
CLI="claude"
# Model
MODEL="claude-opus-4-6"
# Schedule (24h)
SCHEDULE_HOUR=7
SCHEDULE_MINUTE=0
SCHEDULE_TZ="Asia/Seoul"./agentping.shCheck the output — you should see OK: followed by a response. A log file is created in ./logs/.
./install.shThis registers a daily job using:
- macOS:
launchd(via~/Library/LaunchAgents/com.agentping.daily.plist) - Linux:
systemduser timer (via~/.config/systemd/user/agentping.timer)
ls logs/
# 20260314-070000.log
cat logs/20260314-070000.log
# [2026-03-14 07:00:00 KST] agentping: starting health check (cli=claude model=claude-opus-4-6)
# [2026-03-14 07:00:02 KST] attempt 1/10
# [2026-03-14 07:00:05 KST] OK: Pong!macOS:
launchctl bootout gui/$(id -u)/com.agentping.daily
rm ~/Library/LaunchAgents/com.agentping.daily.plistLinux:
systemctl --user disable --now agentping.timer
rm ~/.config/systemd/user/agentping.{service,timer}All settings in config.sh:
| Variable | Default | Description |
|---|---|---|
CLI |
claude |
CLI tool (claude, codex, opencode, gemini) |
MODEL |
claude-opus-4-6 |
Model name passed via --model |
SCHEDULE_HOUR |
7 |
Hour to run (24h) |
SCHEDULE_MINUTE |
0 |
Minute to run |
SCHEDULE_TZ |
Asia/Seoul |
Timezone |
MAX_RETRIES |
10 |
Max retry attempts |
RETRY_DELAY |
30 |
Base delay between retries (seconds, multiplied by attempt) |
TIMEOUT |
120 |
Timeout per CLI call (seconds) |
Run the cross-distro Docker test suite:
./test.shMIT