Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thirsty 💧

Ever wonder how much water your AI coding sessions use? Thirsty shows you.

It reads your Claude Code sessions, looks at how many tokens you used, and turns that into a rough estimate of water. Then it draws a glass of water filling up in your terminal and tells you what that water could have done in real life, like how many bottles or how many minutes in the shower.

It is a fun little tool. The goal is simple. Make the invisible cost of AI feel a bit more real, and make you smile while it does.

If it makes you smile, drop a ⭐ on the repo. It genuinely helps other people find it. 💧

  💧 T h i r s t y  · how much water did Claude just drink?

  THIS SESSION           ALL TIME
  ╭───────────────╮    ╭───────────────╮
  │···············│    │···············│
  │···············│    │···············│
  │···············│    │···············│
  │···············│    │···············│
  │···············│    │···············│
  │≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈│    │···············│
  │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│    │≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈│
  │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│    │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│
  ╰───────────────╯    ╰───────────────╯
         ╰┬╯                  ╰┬╯
  2.51 L               163.4 L

  🌊  A small pond of prompts.
     Ducks are considering relocating to your terminal.

  Your all-time Claude water footprint is roughly:
    🧴  326.9 water bottles
    🚿  18.2 min in the shower
    🥤  81.7 days of drinking water
    🛁  1.1 bathtubs

Is the water number real?

Short answer, no. It is a smart guess, not a fact.

Here is why. The companies that run these AI models do not publish how much water or power a single token actually uses. And even if they did, it changes based on where the data center is, how it cools itself, and how the local power grid works. So there is no exact number anyone can give you.

The numbers in Thirsty are set to a believable range based on public research, but they are meant to give you a feeling, not a lab result. Think of it like a step counter that is roughly right, not a medical scan. If you find better numbers, you can plug them in yourself (see Tune the numbers below).

What you need

Just Node version 16 or newer. If you already run Claude Code, you have it.

Install

# get the code
git clone https://github.com/Ayushmore1214/thirsty.git
cd thirsty

# run it right away, nothing to install
node bin/thirsty.js

# or install it once so you can type "thirsty" anywhere
npm install -g .

No build step. No extra downloads. Nothing to set up.

How to use it

thirsty              # water for this project plus your all-time total
thirsty --all        # use your all-time total for both glasses
thirsty --watch      # keeps refreshing so you can watch it grow
thirsty --json       # plain data output, no drawing
thirsty --demo       # fake data, good for screenshots
thirsty install      # add Thirsty to your Claude Code status bar
thirsty uninstall    # take it back out
thirsty --help       # show all options

Show it live in Claude Code

Claude Code has a little status bar at the bottom. You can put Thirsty there and watch your water climb in real time while you work.

thirsty install

This adds Thirsty to your Claude Code settings and saves a backup of your old settings first. Restart Claude Code and you will see something like this at the bottom:

💧 2.71 L this session · 851.7 L all-time

Want to set it up by hand instead? Add this to your ~/.claude/settings.json file:

{
  "statusLine": {
    "type": "command",
    "command": "thirsty statusline"
  }
}

Does it run in the background?

No. It is not a timer and not a background app. Claude Code runs Thirsty for you and shows what it prints. It runs again each time the status bar refreshes, which happens as you use the session, so your water ticks up right after Claude replies. When you are not doing anything, nothing runs and it uses no power. Every run reads your log files fresh, so the number is always current.

Remove it

Changed your mind? Take it out in one line:

thirsty uninstall

This removes Thirsty from your Claude Code status bar and leaves the rest of your settings alone. Reload Claude Code and it is gone.

Want to remove the command from your computer too?

npm uninstall -g thirsty

And if you cloned the repo, you can just delete the folder.

How it works

Claude Code saves a file for every session on your computer. Inside each file, every reply from Claude records how many tokens it used. Thirsty adds all of those up and multiplies by a small water cost per token.

Some tokens cost more than others:

token type water per token why it costs what it does
output most this is the model actually thinking, so it is the priciest
cache write medium like input, plus the cost of saving it
input low your prompt going in, fairly cheap
cache read almost nothing just re-reading memory, barely any work

Tune the numbers

Do not like the defaults? Change them. Make a file called thirsty.config.json in your project folder, or in your ~/.claude folder, and set your own values. There is an example file called thirsty.config.example.json to copy from.

{
  "water": {
    "ml_per_input_token": 0.0025,
    "ml_per_output_token": 0.05,
    "ml_per_cache_write_token": 0.003,
    "ml_per_cache_read_token": 0.0001
  }
}

The values are milliliters of water per single token. Put in whatever numbers you trust and Thirsty will use them.

What is inside

thirsty/
├── bin/thirsty.js     the main program you run
├── src/parse.js       finds your Claude Code files and counts tokens
├── src/water.js       turns tokens into water, and writes the funny lines
├── src/render.js      draws the glass and the report
├── thirsty.config.example.json
└── README.md

Everything is small and easy to read on purpose. This is fully open source, so fork it and take it further. Some ideas: a leaderboard between friends, a mode that shows water saved by using cache, a little plant that wilts as you use more, or a weekly email with your total.

Star it ⭐

If Thirsty made you laugh or made you think, a ⭐ means a lot and helps others find it. Thanks for hanging out.

License

MIT. Use it, change it, share it. Drink some water while you are at it.

About

💧 A terminal tool that shows how much water your Claude Code sessions drink, based on token usage.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages