| name | 24x7 |
| description | Run Claude Code as an endless daemon with inbox/outbox task queue. Drop tasks into inbox, collect results from outbox. Fresh session per task prevents context rot. Use for permanent Claude agents, job runners, drop-folder workflows, or task queues. |
| allowed-tools | Bash Read Write Grep Glob |
| argument-hint | [workspace-path] [--idle cleanup|docs|tests|sleep] |
| shell | bash |
Claude 24x7 — Endless Runner with Inbox/Outbox
Generates a setup where Claude Code runs as a daemon: tasks are dropped into an inbox folder, results appear in an outbox folder. When the queue is empty, Claude runs configurable idle tasks. Each task gets a fresh Claude session — no context rot, no compact issues.
Why this exists
A single long-running Claude session degrades after hours: context rot makes output unreliable, compaction loses critical information, and errors accumulate without a clean slate. The 24x7 runner solves this by separating the daemon (a bash while-loop) from the worker (a fresh claude -p per task). The bash loop is immortal; Claude sessions are ephemeral and clean.
Input
$ARGUMENTS — interpret as:
| Input | Action |
|---|
| (empty) | Interactive: ask for workspace path, idle behavior |
[path] | Set workspace, ask for idle behavior |
[path] --idle [cleanup/docs/tests/sleep] | Generate directly |
Architecture
workspace/
├── inbox/ <- Drop task folders here
│ └── my-task/
│ ├── task.md <- The assignment
│ └── materials/ <- Input files
├── working/ <- Currently being processed
├── outbox/ <- Completed tasks (output/ + log.md)
├── failed/ <- Failed or timed-out tasks
├── idle/ <- What to do when queue is empty
│ └── idle-tasks.md
├── runner.sh <- The endless loop
├── watchdog.sh <- Heartbeat monitor
└── .claude/settings.json <- Security hooks
Workflow
Step 1: Gather input
Ask the user for:
- Workspace path — where the runner lives
- Idle behavior — cleanup, docs, tests, or sleep (saves API costs)
- Security level (optional) — strict, normal (default), or permissive
Step 2: Generate ZIP
PLUGIN_ROOT="${CLAUDE_SKILL_DIR}/../.."
export CLAUDE_24X7_WORKSPACE="[workspace-path]"
export CLAUDE_24X7_IDLE="[cleanup|docs|tests|sleep]"
python3 "${CLAUDE_SKILL_DIR}/scripts/build_zip.py"
Additional environment variables:
CLAUDE_24X7_POLL — seconds between inbox checks (default 30)
CLAUDE_24X7_TIMEOUT — minutes per task (default 60)
CLAUDE_24X7_SECURITY — security level (strict/normal/permissive)
Step 3: Present output
Show installation instructions, task.md format, and cost warning.
Task format
Each task folder in inbox/ needs a task.md:
## Task: [Title]
Priority: [high/medium/low]
### Assignment
[Concrete instructions]
### Input
[Which files in materials/ are relevant]
### Expected Output
[What should appear in output/]
Security layers
Same four-layer model as Nightshift:
- PreToolUse: Destructive command blocking + path restrictions
- PostToolUse: Heartbeat + error budget tracking
- Sandbox: macOS Seatbelt OR Linux Docker
- Watchdog: Heartbeat monitor with live queue status