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 claude \
  --times 06:05,11:10,16:15,21:20
Installed com.qwake.claude
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 macOS LaunchAgent 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 init
qwake doctor
qwake wake claude

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 claude \
  --times 06:05,11:10,16:15,21:20

qwake schedule status claude
qwake schedule run claude
qwake schedule logs claude

Verify scheduled wakes

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

qwake schedule status claude
launchctl list | rg qwake
qwake schedule run claude
qwake schedule logs claude

# 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

Cross-platform setup guide

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

macOS · Linux · Windows

LaunchAgent, cron/systemd timers, and Task Scheduler setup paths for Qwake.

How Qwake works

  1. Install Qwake globally with npm.
  2. Confirm your local Claude Code, Codex, or custom CLI works.
  3. Install a schedule for the provider 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.