Local-first AI quota window waker

Wake your AI coding quota before you need it.

Schedule tiny wake calls for Claude Code, Codex, and custom provider CLIs so quota windows can start before you sit down to work.

$ qwake doctor
claude: ok (claude)
codex: ok (codex)

$ qwake schedule install codex claude \
  --times 06:05,11:10,16:15,21:20
Installed schedule
Logs: ~/.qwake/logs/claude.log

Built for quota-window friction

Qwake is not a quota bypass tool. It is a small local scheduler that attempts honest wake requests and records the result.

System-level scheduling

Install LaunchAgent, schtasks, or Linux systemd/crontab schedules with one command. Scheduled wakes use smart 5h+buffer skipping by default.

Provider-neutral

Use Claude Code, Codex, or any custom CLI, including third-party routes already configured locally.

Observable by default

Check schedule status and logs without opening an agent session. Logs show success, failure, limited, or skipped.

Install

Install globally after npm publish, or build from the repository during development.

npm install -g @sysiphus/qwake
qwake doctor --fix
qwake schedule install codex claude \
  --times 06:05,11:10,16:15,21:20

Schedule wake calls

Qwake does not stay resident. It delegates timing to the operating system and uses smart 5h+buffer skipping to avoid redundant provider calls.

Qwake attempts wake requests and records timestamps. It cannot guarantee provider quota refresh if the machine is off, fully asleep, offline, or rejected by the provider.

qwake schedule install codex claude \
  --times 06:05,11:10,16:15,21:20

qwake schedule status
qwake schedule doctor
qwake schedule test codex claude
qwake schedule repair codex claude
qwake schedule logs

Verify scheduled wakes

After installing a schedule, status and logs tell you whether launchd loaded it and whether wake calls succeeded.

qwake schedule status
qwake schedule doctor
qwake schedule test codex claude
qwake schedule logs

# healthy log output
[2026-06-01 09:20:00 +08:00] wake agent=claude status=success exitCode=0 limited=false durationMs=1842 utc=2026-06-01T01:20:00.000Z
[2026-06-01 11:10:00 +08:00] wake agent=claude status=skipped exitCode=0 limited=false durationMs=3 utc=2026-06-01T03:10:00.000Z nextWakeAt=2026-06-01T06:25:00.000Z

Audit relay endpoints with behavioral fingerprints

The experimental fingerprint workflow samples short answers from an OpenAI-compatible endpoint, stores the evidence locally, and compares it with a trusted reference profile.

A fingerprint is statistical evidence, not cryptographic proof. Model updates, quantization, provider routing, caching, and hidden reasoning can all cause a legitimate drift.

export RELAY_API_KEY=sk-...
qwake fingerprint collect \
  --base-url https://relay.example.com/v1 \
  --api-key-env RELAY_API_KEY --model gpt-4o
qwake fingerprint enroll --name gpt-4o-reference \
  --from ~/.qwake/fingerprints/runs/<run>.json
qwake fingerprint audit --claim gpt-4o-reference \
  --base-url https://relay.example.com/v1 \
  --api-key-env RELAY_API_KEY --model gpt-4o

Cross-platform setup guide

Read the practical guide for macOS LaunchAgent, Linux systemd/crontab fallback, and Windows Task Scheduler workflows.

macOS · Linux · Windows

LaunchAgent, systemd/crontab fallback, and Task Scheduler setup paths for Qwake.

Model fingerprinting guides

How Qwake works

  1. Install Qwake globally with npm.
  2. Confirm your local Claude Code, Codex, or custom CLI works.
  3. Install schedules for the agents and wall-clock times you care about.
  4. Inspect logs after scheduled wake attempts.

FAQ

Does Qwake bypass provider limits?

No. Qwake sends tiny scheduled wake calls through your existing local CLI. It does not bypass, unlock, or hack provider quotas.

Does it require an official Claude or Codex account?

No. Qwake calls whatever local command already works. If Claude Code routes to GLM, OpenRouter, Bedrock, Vertex, or another provider, Qwake uses that setup.

Will it spend tokens?

wake and probe send tiny live requests and may spend a small amount of provider quota. Scheduled wakes use smart mode by default, so repeated checks inside the configured window are skipped.

Start quota windows while you sleep.

A tiny local CLI for honest workflow continuity.