Skip to content

jboert/mood-ring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

mood-ring

Terminal background colors that reflect Claude Code's state.

 Black   → Claude is working
 Purple  → Claude is done, waiting for your input
 Orange  → Claude is asking you a question (+ optional phone notification)
 Green   → You're typing a response

Install

macOS (iTerm2)

bash install-macos.sh

Prompts for:

  • Bark key (optional) — iOS push notifications when Claude needs your input. Get the key from the Bark app.
  • Typing detection (optional) — Changes background when you start typing. Requires iTerm2 Python API: iTerm2 → Scripts → Manage → enable Python API.

Linux (Terminator)

bash install-linux.sh

Prompts for:

  • Bark key (optional) — same as above
  • Typing detection (optional) — Uses zsh ZLE hooks or bash key rebinding

Requires dbus-send for live config reload.

How it works

The install script:

  1. Creates a small hook script (~/.claude/hooks/iterm-bg.sh or term-bg.sh) that changes the terminal background color
  2. Adds Claude Code hooks to ~/.claude/settings.json that trigger on state changes
  3. Optionally installs keystroke detection for the "typing" color

Hook events used

Event Color Meaning
UserPromptSubmit Black You sent a message, Claude is working
Stop Purple Claude finished, your turn
PreToolUse (AskUserQuestion) Orange Claude is asking you a question
PermissionRequest Orange Claude needs permission to proceed
PostToolUse (AskUserQuestion) Black You answered, back to working
SessionEnd Black Reset on quit

Customize colors

Edit the COLOR_ variables at the top of the install script before running, or edit ~/.claude/settings.json after install.

Uninstall

  1. Remove the hook entries containing iterm-bg.sh (or term-bg.sh) from ~/.claude/settings.json
  2. Delete ~/.claude/hooks/iterm-bg.sh (or term-bg.sh)
  3. macOS: Delete ~/Library/Application Support/iTerm2/Scripts/AutoLaunch/claude_typing_color.py
  4. Linux: Remove the _claude_typing_detect block from ~/.zshrc or ~/.bashrc

About

Terminal background colors that reflect Claude Code's state

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages