Toast when your 5-hour usage limit passes 80% and again at 95%.

A Ladakh road trip above the Claude prompt. A Royal Enfield rides from Leh to Khardung La as your conversation's context window fills up.
/ride hides or shows it. Terminals that cannot draw images get a text track instead.Type this at the prompt of a terminal Claude Code session:
/plugin install ladakh-ride --marketplace shailendergoud2907/ladakh-ride
Answer y to add the marketplace, then pick the user scope.
claude plugin validate .
claude plugin test .
| Mod | What it does | Install |
|---|---|---|
| ride-status | Status line shows context used as altitude | /plugin install ride-status --marketplace shailendergoud2907/ladakh-ride |
| safe-ride | Blocks rm -rf on home or root, plain force-push, git reset --hard | /plugin install safe-ride --marketplace shailendergoud2907/ladakh-ride |
| tool-log | Side panel of tool calls, /tool-log | /plugin install tool-log --marketplace shailendergoud2907/ladakh-ride |
| done-chime | Chime and toast after a turn of 30 s or more (sound plays on macOS) | /plugin install done-chime --marketplace shailendergoud2907/ladakh-ride |
| limit-alert | Toast at 80% and 95% of the 5-hour limit | /plugin install limit-alert --marketplace shailendergoud2907/ladakh-ride |
| mba-voice | Adds a short working-style note to the system prompt | /plugin install mba-voice --marketplace shailendergoud2907/ladakh-ride |
| ladakh-tips | /ladakh prints a riding tip | /plugin install ladakh-tips --marketplace shailendergoud2907/ladakh-ride |
| ladakh-theme | Ladakh Dusk and Ladakh Glacier colour themes, pick with /theme | /plugin install ladakh-theme --marketplace shailendergoud2907/ladakh-ride |
| mba-shortcuts | /mba-shortcuts:case, :pitch, :redteam, :memo | /plugin install mba-shortcuts --marketplace shailendergoud2907/ladakh-ride |
/focus 25 now lives inside ladakh-ride and shows in the band.
hooks/register.tsx 21 lines1import type { Register } from 'claude-code'
2
3export const register: Register = on => {
4 let warned = 0
5
6 on('session.measure', async ($, e, next) => {
7 const five = e.rateLimits.find(r => r.kind === 'five_hour')
8 const used = five ? five.percentUsed : 0
9 if (used < 70) warned = 0
10 if (used >= 95 && warned < 95) {
11 warned = 95
12 void $.ui.toast(`5-hour limit at ${Math.round(used)}%. Almost out, wrap up or switch to a lighter task.`, { timeoutMs: 10_000 })
13 } else if (used >= 80 && warned < 80) {
14 warned = 80
15 void $.ui.toast(`5-hour limit at ${Math.round(used)}%. Plan to wrap up soon.`, { timeoutMs: 8_000 })
16 }
17
18 return next(e)
19 })
20}
21