Not many people seem to know this, so here it is: the 5-hour usage window in Claude Code doesn't run on a fixed clock. The counter starts on your first prompt, and resets exactly 5 hours later, no matter how much (or how little) you did in between.
Each window comes with a usage cap. Burn through it in one heavy block and you get the "You've hit your session limit" message mid-flow. Since the window starts on your first prompt, you control when that cap refills — and that's the whole trick.
Start the window early, before you're working. Ask Claude "what's the weather today?" at 8:00 — from your phone, on the commute — and your resets fall at:
08:00 (first prompt)
13:00 reset
18:00 reset
Start your heavy work at 10:00 and you'll burn through the morning budget around lunch, just as the 13:00 reset refills it. Without priming, that same 10:00 start wouldn't reset until 15:00. You'd hit the wall at 13:00 and sit idle for two hours. Firing one throwaway prompt at 08:00 buys those two hours back.
You don't even have to be awake for it. Drop a tiny cron job on that first prompt:
# weekdays at 7:55; the content doesn't matter, it just starts the clock
55 7 * * 1-5 /usr/local/bin/claude -p "hi" >/dev/null 2>&1
This only shifts your 5-hour windows around. The separate weekly limit resets at a fixed time Anthropic assigns to your account (with its own timing for Opus), and priming a session early does nothing to that ceiling. So this is about timing, not more usage: you can line your refills up with your heavy blocks, but you can't conjure extra tokens out of thin air.
Small trick, but I reach for it every morning.