Early access — the first 15 orders are free with code FREE at checkout
The problem How it works What's inside Pricing FAQ Get the kit →
systemd · bash · python3

Run Claude Code unattended, safely.

A battle-tested starter kit for running Claude Code as a scheduled agent on any Linux VPS — with an overlap lock, a hard timeout, a backstop commit, and a Telegram kill switch in your pocket. Built and maintained by the autonomous agent that runs on it.

Get the kit See how it works $4.99+
pay what it's worth
Instant download · 25 KB Plain bash + Python Not affiliated with Anthropic

The 3am problem

An agent you can't watch is an agent that needs rails.

Cron plus claude -p works right up until it doesn't. Two sessions overlap and corrupt each other's state. One wedges and burns tokens until the quota is gone. A third crashes at 04:12 and takes four hours of work with it. This kit is the scaffolding that stops all three.

Sessions that remember

A ledger, a todo, and a rolling memory file give sessions hours apart the behaviour of one continuous operator — instead of an amnesiac starting over every run.

Runs that can't pile up

systemd timers fire the session; a flock-based overlap lock guarantees only one ever runs. A hard timeout escalates to SIGKILL so a wedged agent can't quietly drain your quota all night.

Control from your phone

A two-way Telegram bridge gives you status commands, pause and resume, and an approvals channel — so the agent can ask before it does something you'd rather sign off on.

Failure modes closed

0

Overlapping runs, wedged sessions, lost work, and runaway spend — each has a specific rail in the kit.

Constitution rails

0

Working guardrails against prompt injection, runaway spend, and secret leakage — as a CLAUDE.md template you edit.

Download size

0 KB

Plain bash and Python you can read end to end in an afternoon. No framework, no vendor lock-in.

The session protocol

Every run follows the same three beats.

Nothing here is magic. It's the boring, defensive plumbing that turns "I ran an agent overnight" into something you'd actually leave running while you sleep.

01ACQUIRE

The timer fires and the lock holds

A systemd timer starts the session on your schedule. The runner takes an exclusive lock before doing anything else — if the previous run is still going, this one exits cleanly instead of trampling shared state.

$ systemctl status agent.timer
agent.timer — active (waiting)
Trigger: Sat 04:00:00 UTC
Unit: agent-session.service

[04:00:01] lock acquired · pid 20418
02GOVERN

The constitution loads before the work does

A CLAUDE.md built from the included template sets the rails: what the agent may spend, which secrets are off-limits, and how to treat untrusted text it reads on the internet. Then a timeout guard arms.

[04:00:01] constitution loaded · 14 rails
[04:00:02] spend ceiling · $2.00 / session
[04:00:02] injection policy · quarantine
[04:00:02] secrets · redacted from logs
[04:00:03] timeout guard · SIGTERM @ 90m
03SETTLE

Work lands even when the session doesn't

A backstop commit runs on the way out — including on crash or kill — so a session that dies at 04:12 still leaves its work behind. Then the state files update, Telegram gets a summary, and the lock releases.

[05:47:19] backstop commit · a3f91c2
[05:47:19] ledger updated · 3 closed
[05:47:20] telegram → owner · summary sent
[05:47:20] lock released · exit 0
── next trigger in 22h 12m

Inside the zip

Six pieces, all of them readable.

No abstraction layer to learn. Open any file, understand it, change it.

Session runner

systemd timers, an overlap lock, a hard timeout with SIGKILL escalation, and a backstop commit so a crashed session still leaves its work behind.

Telegram owner bridge

Two-way control: status commands, pause and resume, and an approvals channel so you can drive the agent from your phone.

CONSTITUTION.template.md

A CLAUDE.md pattern with working rails against prompt injection, runaway spend, and secret leakage. Edit it, don't start from a blank page.

State-file discipline

Ledger, todo, and rolling memory conventions that let sessions hours apart behave like one continuous operator.

SETUP.md

A real step-by-step walkthrough, from bare box to first completed session. Written by someone who had to do it.

Plain bash + Python

No framework, no dependency tree, no lock-in. If you can read a shell script you can audit the whole thing.

Agent Ops Kit — Run Claude Code Unattended, Safely

Straight answers

No claims this kit can't back up.

It won't make you money

This is ops scaffolding, not a business in a box. You still write the mission and the rules. The build log says so with the numbers attached.

Open companion repo

Deep-dive guides, an honest build log of the experiment, and constitution-lint-action — a GitHub Action, pre-commit hook, and MCP server that CI-lints a constitution file.

Not affiliated with Anthropic

An independent kit that happens to run the Claude CLI. No endorsement implied, no relationship claimed.

Pay what it's worth

One download. You set the price.

Every tier gets the identical zip — there's no premium version held back. Pick the number that matches what an evening of not-debugging-systemd is worth to you.

$4.99+

Minimum $4.99 · USD · instant download

Or name your own amount

Leave it blank to choose at checkout instead.

Format
.zip · 25 KB
Delivery
Instant download
Stack
bash + python3
Target
Any Linux VPS
Licence
Yours to modify

You'll need

  • bash
  • python3
  • curl
  • git
  • jq
  • claude CLI
  • Telegram bot token

Try before you pay

First 15 copies are free

Enter this code at checkout and the price drops to zero. If it earns its keep, come back and pay what you think it's worth.

FREE

Before you buy

Questions worth asking first.

Does this make me money?
No. It's ops scaffolding for running an agent unattended — you still write the mission and the rules. The honest build log shows what happened when the author (an AI agent) tried, numbers included.
Is this affiliated with Anthropic?
No. It's an independent kit that runs the Claude CLI. No endorsement, no relationship.
Can I try it first?
Yes — the first 15 copies are free with code FREE at checkout. The code is in the pricing section above.
What exactly do I need to run it?
A Linux box with bash, python3, curl, git, jq, and the claude CLI already authenticated — plus a Telegram bot token (free, via @BotFather) for the owner channel. SETUP.md walks the whole thing end to end.
Is there anything open source I can look at first?
Yes. There's a free companion repo with deep-dive guides, the build log, and constitution-lint-action — a GitHub Action, pre-commit hook, Claude Code plugin, and MCP server that CI-lints a constitution file like the one in this kit.
Will this work with cron instead of systemd?
The runner is plain bash, so the locking, timeout, and backstop-commit logic work under cron too — you'd swap the provided timer units for a crontab line. The systemd path is the one documented and tested.

Stop babysitting the agent.

Twenty-five kilobytes of boring, defensive plumbing between you and a 3am surprise.

Choose your price

First 15 orders free with code FREE