claude-peak
v1.2.4
Published
Know when your Claude tokens stretch further. Detects Anthropic peak/off-peak hours from your terminal.
Maintainers
Readme
_____ _ _ _____ _
/ ____| | | | | __ \ | |
| | | | __ _ _ _ __| | ___ | |__) |___ __ _| | __
| | | |/ _` | | | |/ _` |/ _ \ | ___/ _ \/ _` | |/ /
| |____| | (_| | |_| | (_| | __/ | | | __/ (_| | <
\_____|_|\__,_|\__,_|\__,_|\___| |_| \___|\__,_|_|\_\Know when your Claude tokens stretch further.
Anthropic silently throttles Claude's token limits during high-demand hours. claude-peak tells you, in real time, whether you're in a peak or off-peak window — so you can plan your heaviest sessions when your tokens go the furthest.
No dependencies. No config files. Works on Windows, macOS, and Linux.
How it works
Anthropic defines peak hours as Monday–Friday, 5:00 AM – 11:00 AM Pacific Time. During this window, each session costs more tokens, so your usage quota drains faster.
claude-peak detects your configured timezone, converts it to PT (including DST adjustments), and tells you your current status — plus how long until the next state change.
Installation
Option 1 — Global install (recommended)
npm install -g claude-peakThen run from anywhere:
claude-peakOption 2 — Without installing (npx)
npx claude-peakRequirements: Node.js 12 or higher. No other dependencies.
First run
On the first run, claude-peak starts in English and uses your system timezone. If your system is set to UTC (common on Linux servers), run:
claude-peak tzto pick your real timezone from an interactive list.
Usage
claude-peak Current status (default)
claude-peak status Current status
claude-peak watch Live monitor — refreshes every minute
claude-peak schedule Full weekly schedule in your local timezone
claude-peak json JSON output (for scripting)
claude-peak tz Set your timezone (interactive list)
claude-peak lang Switch language (interactive list)
claude-peak help Show helpCommands in action
claude-peak — instant status
_____ _ _ _____ _
/ ____| | | | | __ \ | |
| | | | __ _ _ _ __| | ___ | |__) |___ __ _| | __
| | | |/ _` | | | |/ _` |/ _ \ | ___/ _ \/ _` | |/ /
| |____| | (_| | |_| | (_| | __/ | | | __/ (_| | <
\_____|_|\__,_|\__,_|\__,_|\___| |_| \___|\__,_|_|\_\
🟢 OFF-PEAK: tokens at full capacity
⏰ Local time 21:14:03 America/Bogota
🌍 Pacific time 19:14 PDT (UTC-7)
📅 PT day Tuesday
📊 Peak hours (local) 07:00 – 13:00 Mon–Fri
⏱️ Next peak in: 9h 46m ███░░░░░░░░░
✨ Tip: great time for long coding sessions or document analysisclaude-peak watch — live monitor
Refreshes every minute to show real-time countdown. Hit Ctrl+C to exit.
_____ _ _ _____ _
/ ____| | | | | __ \ | |
| | | | __ _ _ _ __| | ___ | |__) |___ __ _| | __
| | | |/ _` | | | |/ _` |/ _ \ | ___/ _ \/ _` | |/ /
| |____| | (_| | |_| | (_| | __/ | | | __/ (_| | <
\_____|_|\__,_|\__,_|\__,_|\___| |_| \___|\__,_|_|\_\
claude-peak watch — Ctrl+C to exit
🔴 PEAK HOUR: tokens drain faster
⏰ Local time 12:35:42 America/New_York
🌍 Pacific time 09:35 PDT (UTC-7)
📅 PT day Wednesday
📊 Peak hours (local) 05:00 – 11:00 Mon–Fri
⏳ Changes to off-peak: 0h 25m ██████░░░░░░░
💡 Tip: save heavy tasks for after 11:00claude-peak schedule — weekly overview
_____ _ _ _____ _
/ ____| | | | | __ \ | |
| | | | __ _ _ _ __| | ___ | |__) |___ __ _| | __
| | | |/ _` | | | |/ _` |/ _ \ | ___/ _ \/ _` | |/ /
| |____| | (_| | |_| | (_| | __/ | | | __/ (_| | <
\_____|_|\__,_|\__,_|\__,_|\___| |_| \___|\__,_|_|\_\
📅 Weekly schedule — America/New_York
🔴 Monday 00:00–05:00 05:00–11:00 11:00–24:00
🔴 Tuesday 00:00–05:00 05:00–11:00 11:00–24:00
🔴 Wednesday 00:00–05:00 05:00–11:00 11:00–24:00
🔴 Thursday 00:00–05:00 05:00–11:00 11:00–24:00
🔴 Friday 00:00–05:00 05:00–11:00 11:00–24:00
🟢 Saturday 00:00–24:00 (no peak)
🟢 Sunday 00:00–24:00 (no peak)claude-peak tz — interactive timezone selector
Select your timezone
── America — North ──
America/New_York UTC-04:00
America/Chicago UTC-05:00
── America — Central & Caribbean ──
> America/Bogota UTC-05:00
America/Lima UTC-05:00
...
12/67 up/down arrows Enter select q quitNavigate with arrow keys, confirm with Enter. Covers 67 timezones grouped by region, each showing its current UTC offset.
claude-peak lang — language selector
Selecciona idioma / Select language
> English English
Español Spanish
up/down arrows Enter to selectclaude-peak json — scripting-friendly output
{
"status": "off-peak",
"isPeak": false,
"localTime": "2026-04-07T21:14:03.000Z",
"timezone": "America/Bogota",
"pacificTime": "2026-04-07T19:14:03.000Z",
"pacificOffset": "PDT (UTC-7)",
"peakHoursLocal": {
"start": "07:00",
"end": "13:00",
"days": "Mon-Fri"
},
"nextChange": {
"label": "peak (tomorrow)",
"inHours": 9,
"inMinutes": 46
}
}Linux servers (UTC timezone)
If you're running claude-peak on a server where the system timezone is UTC, just set your real timezone once:
claude-peak tz
# navigate to your timezone and press EnterYour preference is saved to ~/.claude-peak and persists across sessions. From that point on, all commands show times in your configured timezone regardless of what the server OS is set to.
Use in scripts
# Bash — only run heavy tasks during off-peak
STATUS=$(claude-peak json | python3 -c "import sys,json; print(json.load(sys.stdin)['status'])")
if [ "$STATUS" = "off-peak" ]; then
echo "Off-peak — running analysis..."
else
echo "Peak hours — skipping for now."
fi# PowerShell
$data = claude-peak json | ConvertFrom-Json
if (-not $data.isPeak) {
Write-Host "Off-peak — good to go!"
}Peak hours by timezone
| Timezone | Peak window (local) | |---|---| | Pacific (PT) | 05:00 – 11:00 | | Mountain (MT) | 06:00 – 12:00 | | Central (CT) | 07:00 – 13:00 | | Eastern (ET) | 08:00 – 14:00 | | Colombia / Peru (COT) | 07:00 – 13:00 | | Brazil (BRT) | 09:00 – 15:00 | | UK (GMT/BST) | 13:00 – 19:00 | | Central Europe (CET) | 14:00 – 20:00 | | India (IST) | 18:30 – 00:30 | | Japan / Korea (JST/KST) | 21:00 – 03:00 |
Your exact local range is always shown in
claude-peak schedule. DST is handled automatically.
Language support
Ships with English (default) and Spanish. Switch anytime:
claude-peak langYour preference is saved and persists across sessions.
Configuration
All settings are stored in ~/.claude-peak as a simple JSON file:
{
"lang": "en",
"tz": "America/Bogota"
}You can edit it directly or use the interactive commands claude-peak lang and claude-peak tz.
Why peak hours matter
Anthropic adjusts token costs dynamically based on server load. During peak hours (US business morning), each session is more expensive in terms of quota — meaning your Pro or Max plan drains noticeably faster.
Scheduling document analysis, long coding sessions, or iterative prompting outside the 5–11 AM PT window can meaningfully extend how much you get done before hitting a limit.
No dependencies
claude-peak uses only Node.js built-ins — readline, fs, os, path — and ANSI escape codes for colors. Zero npm dependencies. Installs in milliseconds.
License
MIT © 2026
Made for Claude users who want to get more out of every session.
