Your knee hurts while Claude works.
It relaxes when Claude is ready.
A Chrome toolbar button that shows whether Claude Code is working, with optional desktop notifications. It works on macOS, Ubuntu and Windows.
claudication (n.): pain in the legs that comes on while they're working and eases with rest.
Three states, one glance
Hover over the icon to see how many sessions are working.
Working
Claude Code is working on a task in at least one session.
Ready
Claude has finished, or is waiting for your input or permission.
Not connected
The local helper isn't running. Run the installer.
What you get
Small, local, and with no dependencies beyond Python 3.
- Live toolbar statusThe icon changes the moment Claude starts or finishes, with no polling delay.
- Every sessionThe knee hurts while any Claude Code session is working.
- OS notificationsOptional alerts when Claude finishes or needs your permission, with or without sound.
- Three platformsmacOS, Ubuntu/Linux and Windows. The installer detects which one you're on.
- Stays out of the wayIt installs into your user data folder and leaves your other Claude Code hooks alone.
- Fully localNothing leaves your machine. The status goes from Claude Code hooks to Chrome over native messaging.
Install
Requires Python 3.9 or newer and Google Chrome.
git clone https://github.com/Tpojka/claudication.git
cd claudication
./install.shsudo apt install python3 libnotify-bin # notify-send, for the notifier
git clone https://github.com/Tpojka/claudication.git
cd claudication
./install.shwinget install Python.Python.3.12 # if Python isn't installed
git clone https://github.com/Tpojka/claudication.git
cd claudication
install.cmdChoose what to install
1) Chrome extension
2) Chrome extension + OS notifier
3) Nothing (exit)
Choose 1, 2 or 3: 2
Play a sound with notifications? [Y/n]:
Load the extension (once)
- Open
chrome://extensionsand turn on Developer mode. - Click Load unpacked and pick the
extensionfolder the installer printed. - Pin Claudication to the toolbar.
- Restart any running Claude Code sessions so they load the hooks.
OS notifier
You get a notification when Claude finishes a task or needs your permission. The title includes the project name.
Change settings any time
Run these from the repository. They take effect with the next notification, with no restart:
python3 -m claudication.install set sound off # silent notifications
python3 -m claudication.install set sound on
python3 -m claudication.install set notifications off # no notifications at all
python3 -m claudication.install set notifications onOn Windows, use py -3 instead of python3.
Or use your OS settings
| OS | Where |
|---|---|
| macOS | System Settings → Notifications → Script Editor |
| Ubuntu (GNOME) | Settings → Sound → System Sounds, or Notifications → Do Not Disturb |
| Windows | Settings → System → Notifications → Windows PowerShell |
How it works
Claude Code hooks write each session's state. A small local helper sends changes to Chrome.
Claude Code ──hook──► claudication.pyz hook ──► sessions/<id> (busy | ready)
└──────────► desktop notification (optional)
Chrome ──starts──► claudication.pyz host
watches sessions/, pushes status on change
│ native messaging
▼
extension swaps the iconIt covers Claude Code: the terminal, IDE extensions and the Desktop app's Code tab. It doesn't cover regular Claude chat.