By theusanchez
Hydration coach for Claude Code. Reminds you to drink water on a computed interval and locks all tools until you confirm you drank — with up to 2 postpones.
Confirm you drank water — unlocks tools and restarts the timer
KILL SWITCH — turn off all hydration reminders and tool locks immediately
Re-enable hydration reminders after /stay-hydrated:off
Postpone an active hydration reminder (+5 min, up to 2x before a hard lock)
Configure your hydration goal — daily ml, hours/day on Claude Code, ml per glass, start hour
A hydration coach for Claude Code. It computes how often you should drink water based on your daily goal and how many hours you use Claude Code, nudges you when it's time, and locks every tool until you confirm you drank — with up to 2 postpones before a hard lock.

This plugin can block tools, so it ships with multiple independent escape hatches. Any one of them instantly restores normal Claude Code — even while a lock is active:
| Escape | How |
|---|---|
| Turn it off | /stay-hydrated:off (re-enable later with /stay-hydrated:on) |
| Sentinel file | touch ~/.stay-hydrated/DISABLED (whitelisted, works while locked) |
| Env var | relaunch with STAY_HYDRATED_OFF=1 |
| Remove it | disable/uninstall in /plugin — slash commands always bypass the lock |
The lock hook is fail-open: any error, missing or corrupt state, or kill switch results in allow. It only ever blocks under one explicit, fully-checked condition. A bug cannot permanently trap you.
Claude Code hooks are event-driven, not a background timer — so reminders and locks surface on your next interaction (when you send a prompt or Claude runs a tool). That's the point: you can't keep working without hydrating.
SessionStart hook → anchors the hydration day when you begin/resume working.UserPromptSubmit hook → when the interval is due, injects a "drink water" nudge.PreToolUse hook (all tools) → once the 5-minute window expires, blocks every
tool with exit code 2 until you confirm. The control commands are always whitelisted,
so you can never soft-lock yourself.The interval is (hours_using_cc × 60) ÷ (daily_ml ÷ ml_per_glass).
Example: 3000 ml/day over 8 h with 250 ml glasses → 12 glasses → one every 40 min.
start_hour (default 9). Before that hour the plugin is
silent. The first interaction after it begins the day: the counter resets and the
first reminder is anchored one interval later.daily_ml ÷ ml_per_glass glasses, the goal is met and
the plugin goes quiet (and never locks) until the next day's start hour./plugin marketplace add theusanchez/stay-hydrated
/plugin install stay-hydrated@stay-hydrated
For local development, load it directly without installing:
claude --plugin-dir ./stay-hydrated
Plugin commands are namespaced under stay-hydrated::
/stay-hydrated:setup 3000 8 250 8:30 # ml/day, hours/day on CC, ml/glass, start time
/stay-hydrated:status # progress + where you are in the day
/stay-hydrated:drank # confirm you drank → unlock + count the glass
/stay-hydrated:postpone # buy +5 min (max 2x, then hard lock)
/stay-hydrated:off # kill switch — disable reminders and locks
/stay-hydrated:on # re-enable after :off
The start time accepts a whole hour (9) or HH:MM (8:30).
setup full signature: setup <ml/day> <hours> <ml/glass> <start_time> <grace_min> <max_postpones> <postpone_min>
(only the first two are required; the rest default to 250 9 5 2 5).
All state is global to you (not per-project), stored in ~/.stay-hydrated/
(config.json + state.json). Override the location with STAY_HYDRATED_HOME.
MIT
Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub theusanchez/stay-hydrated --plugin stay-hydratedHarness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Superpowers Plus core skills library for Claude Code: planning, execution routing, TDD, debugging, and collaboration workflows
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use
Complete AI coding workflow system. Self-correcting memory + persistent FTS5-indexed research wikis + auto-research loop + multi-LLM council on a single SQLite store. 33 skills, 8 agents, 22 commands, 37 hook scripts across 24 events. Cross-agent via SkillKit.
Advanced development superpowers for orchestrating complex workflows with Superpower Loop and work verification