Keep the fire lit.

Keep your Claude Code & Codex usage windows lit.

A tiny macOS launchd scheduler that sends low-cost check-ins at the times you choose — then logs every run, token, and quota snapshot. Runs entirely on your Mac.

v0.2.3 · macOS 14+ · Free & open source (MIT)

Default schedule Default schedule: 07:00, 12:00, 17:00 and 22:00 — fully customizable.
Stoker activity dashboard

Usage windows reset on a clock — not on your schedule.

If the first prompt of a window lands late, the whole window shifts late. Stoker fires a tiny check-in at fixed times so your windows open when you actually start working.

Fixed start times

Pick the hours that match your day; each time fires independently.

Quota you can see

Five-hour and weekly snapshots recorded after every run.

Skips when exhausted

Quota preflight skips a tool gracefully instead of wasting a call.

How it works

Every run is the same calm, four-beat loop.

  1. 1

    Load & lock

    Reads .env, then takes a lock so concurrent triggers skip safely.

  2. 2

    Quota preflight

    Checks quota before sending. Exhausted tools are skipped and logged.

  3. 3

    Send a tiny prompt

    Asks each CLI to reply READY — no files read, no tools run, nothing modified.

  4. 4

    Record & release

    Appends usage + quota snapshots, then releases the lock for next time.

Small tool, fully accountable.

Scheduled activation

Triggers Claude Code and Codex through macOS launchd at the times you set.

Minimal, safe prompt

Tells both CLIs not to inspect files, run tools, or modify anything.

Readable run history

Every activation in plain text at logs/activation.log.

Per-run usage records

Structured token and cost rows in logs/usage.jsonl.

Quota snapshots

Five-hour and weekly quota status in logs/status.jsonl.

Quota preflight

Skips activation gracefully when a known quota is exhausted.

Clone-friendly config

Schedule, tools, prompts, timeouts and paths — all in one .env.

Honest about cost. About a tenth of a cent.

Stoker sends real prompts, so it uses real quota. Here is exactly how much.

Claude ~170 input tokens · ≈ $0.001 per activation
Codex ~22K input tokens per activation (−31% optimized)

≈ $0.16 / month for Claude at 4 activations a day.

The bottleneck is the system prompt each CLI injects — Stoker keeps its own prompt under ~300 tokens.

Built to be watched, not babysat.

A native menu bar app over the same engine — bilingual, light or dark.

Stoker menu bar app
Independent & unofficial 100% local — no data sent to the author Open source · MIT

Not affiliated with, endorsed, or sponsored by Anthropic, OpenAI, or Apple. Stoker uses your real quota; you are responsible for complying with each provider's terms.

Questions, answered plainly.

How much does it cost to run?

About $0.001 per Claude activation (~170 tokens). Roughly $0.16/month at four runs a day. Codex uses your plan quota.

Does it consume my quota?

Yes — it sends real prompts. That is the point. Quota preflight skips a tool when its quota is already exhausted.

Is it safe? Does it touch my projects?

No. It runs in its own folder, sends a tiny "reply READY" prompt, and never reads or modifies your real projects. dry-run and quota send nothing.

Is this official?

No. Stoker is an independent open-source project, not affiliated with Anthropic, OpenAI, or Apple. You are responsible for following their terms.

How do I uninstall?

Run ./install.sh uninstall (or use the menu bar app) to unload and remove the LaunchAgent.

Light the pilot.

Two ways to install — same scheduler underneath.

Menu bar app

For most people. A GUI monitor + settings over the bundled engine.

Download .dmg

Ad-hoc signed — first launch needs Right-click ▸ Open (or System Settings ▸ Privacy ▸ Open Anyway).

CLI / launchd

For terminal users who want the lightest install and direct shell control.

git clone https://github.com/hakupao/stoker.git
cd stoker && cp .env.example .env
./install.sh
View install steps

Keep the fire lit.