$ recombobulate _
home / tips / shift-heavy-claude-code-work-to-off-peak-hours
351
shift-heavy-claude-code-work-to-off-peak-hours

Anthropic recently announced that during weekday peak hours, your 5-hour session limits burn faster than before. Your weekly allowance hasn't changed — but when you use it now matters.

In practical terms, a token-heavy Claude Code session that might last the full 5 hours off-peak could drain in 3 hours during peak time. Here's how to make the most of it.

The peak window is 5 AM–11 AM PT every weekday. Here's what that looks like across common timezones:

Timezone        Peak Hours (Weekdays)    Best Heavy-Work Windows
─────────────────────────────────────────────────────────────────
GMT / UTC       1 PM – 7 PM              Before 1 PM or after 7 PM
BST (UK Summer) 2 PM – 8 PM              Before 2 PM or after 8 PM
ET (Eastern)    8 AM – 2 PM              Before 8 AM or after 2 PM
CT (Central)    7 AM – 1 PM              Before 7 AM or after 1 PM
MT (Mountain)   6 AM – 12 PM             Before 6 AM or after 12 PM
PT (Pacific)    5 AM – 11 AM             Before 5 AM or after 11 AM

If you're in the UK, your sweet spot is a morning session before 1 PM GMT (or 2 PM BST in summer) — get your big refactors and greenfield builds done before lunch. Evenings after 7 PM GMT are also wide open. If you're on the US East Coast, early birds win — anything before 8 AM ET is off-peak, and your evening sessions after 2 PM ET are free and clear. US West Coast developers get a natural advantage since peak ends at 11 AM PT, leaving the entire afternoon and evening for heavy work.

Add a peak/off-peak indicator to your status line. You can get a persistent, colour-coded reminder right in your Claude Code status bar. Create a script at ~/.claude/statusline-command.sh:

#!/usr/bin/env bash

# Peak hours status line indicator
# Checks 5am-11am Pacific and converts to your local timezone

input=$(cat)

# ANSI colours
BG_RED='\033[48;2;243;139;168m'
BG_GREEN='\033[48;2;166;227;161m'
WHITE='\033[38;2;30;30;46m'
BOLD='\033[1m'
RESET='\033[0m'

# Check peak hours in Pacific time, display in local time
peak_info=$(python3 -c "
import datetime
from zoneinfo import ZoneInfo
la = ZoneInfo('America/Los_Angeles')
local = datetime.datetime.now().astimezone().tzinfo
now_la = datetime.datetime.now(la)
is_peak = now_la.weekday() < 5 and 5 <= now_la.hour < 11
start = datetime.datetime(2000,1,1,5,tzinfo=la).astimezone(local).strftime('%-I%p').lower()
end = datetime.datetime(2000,1,1,11,tzinfo=la).astimezone(local).strftime('%-I%p').lower()
print(('1' if is_peak else '0') + '|' + start + '–' + end)
" 2>/dev/null)

is_peak="${peak_info%%|*}"
peak_range="${peak_info##*|}"

if [ "$is_peak" = "1" ]; then
  printf "%b" "${BG_RED}${WHITE}${BOLD} ⚡Peak [${peak_range}] ${RESET}"
else
  printf "%b" "${BG_GREEN}${WHITE}${BOLD} ○ Off-Peak ${RESET}"
fi

Then point your status line at it in ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "bash ~/.claude/statusline-command.sh"
  }
}

This gives you a red background badge with the local peak window during peak hours, and a green background off-peak badge the rest of the time. The Python script always checks against Pacific time internally, so it works correctly no matter what timezone your machine is set to — a developer in London sees "2pm–8pm", someone in Tokyo sees "10pm–4am", all without changing a line of code.

Automate the reminder with a PreToolUse hook. Want a warning before expensive tool calls too? Drop this into your .claude/settings.json hooks:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Task|Agent",
        "hooks": [
          {
            "type": "command",
            "command": "python3 -c \"import datetime; from zoneinfo import ZoneInfo; now = datetime.datetime.now(ZoneInfo('America/Los_Angeles')); is_peak = now.weekday() < 5 and 5 <= now.hour < 11; print('PEAK HOURS ACTIVE — This task will burn tokens faster. Consider deferring heavy work to off-peak.' if is_peak else '')\""
          }
        ]
      }
    ]
  }
}

This fires before any Task or Agent tool call — the expensive, multi-step operations that chew through your session limit fastest. During peak hours it prints a warning, giving you a chance to reconsider before kicking off that big refactor. Outside peak hours, it stays silent.

Schedule big refactors and greenfield work outside peak hours. If you're about to kick off a massive codebase migration or a multi-file feature build, aim for those off-peak windows above. Save peak hours for lighter, targeted tasks like quick bug fixes or code reviews.

Batch your prompts. Instead of drip-feeding Claude one small instruction at a time, combine related changes into a single, well-scoped prompt. Five tiny requests cost more tokens than one thoughtful one.

# Instead of 5 separate messages, send one:
"Refactor the User model to add email verification:
 - Add a verified_at timestamp column
 - Create a migration
 - Add a sendVerificationEmail method
 - Update the registration controller
 - Write tests for the new flow"

Use /compact aggressively. After 10–15 exchanges your context window balloons, and every subsequent request sends all of that history back as input tokens. A well-timed /compact can cut token usage by 30–60%.

Route simple tasks to lighter models. Formatting fixes, adding comments, renaming variables — these don't need Opus. Drop to Haiku or Sonnet for the easy stuff and save your heavy-hitter quota for complex reasoning.

The real takeaway: treat your session limit like a budget. Peak hours have inflation — your tokens buy less. Wire up the status line, set the hook, and plan your day around the timezone table above.

via Claude Code

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Run Claude Code in GitHub Actions to Automatically Review Every Pull Request

Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Build a Deployment Checklist from Your Actual Infrastructure

Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Generate a README from Your Actual Codebase — Not a Template

Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.

recombobulate @recombobulate · 1 day ago