Claude Code × Philips Hue

Claude
dreams in color

Watch Claude think. A Philips Hue MCP server + Claude Code hooks that animate your lights in real time — cyan while reasoning, magenta while working, green on success. Every tool call, every permission prompt, every moment of focus: visible. Works when your screen is locked or off — glance at the light to know if Claude needs you.

Every Claude session state, lit up

hue-status.js hooks into Claude Code's event system and drives a dedicated light for each session. Run multiple Claude sessions at once — each bound to a different light. Claude saves your light state at session start and restores it when it stops.

User submits prompt UserPromptSubmit → cyan pulse (thinking)
thinking
Tool starts PreToolUse → magenta pulse (working)
working
Tool finishes PostToolUse → cyan pulse (back to thinking)
thinking
Permission prompt Notification → red pulse, 30s auto-expire → idle
prompt
Plan approved exit_plan_mode → solid green flash, then resumes
success
Session ends Stop → restores pre-session light state
restore

Full Hue control from Claude

15 tools covering setup, light control, scenes, native v2 effects, and sensors.

ONBOARDING
setup
Guided bridge discovery, API key registration, light selection. Returns paste-ready hook config.
V1 API
get_lights
List lights — filterable by room name, on/off state, or color capability.
V1 API
set_light / set_group
Full control: on/off, brightness, color temp, RGB, HSL, alerts, transition time.
V2 API
set_effect
Native animated effects: candle, fire, prism, sparkle, opal, glisten, cosmos. Runs on the light itself.
V1 API
set_status
Semantic status colors: idle, thinking, working, building, waiting, success, error, alert, pulse_once.
V1 API
get_scenes / activate_scene
List and activate saved scenes by ID and group.
NEW
create_scene
Snapshot current light state as a named scene. Captures a group or specific lights instantly.
V2 API
get_dynamic_scenes
List animated Hue smart scenes — Candle, Fireplace, Colorloop, and more.
V2 API
activate_dynamic_scene
Activate a smart scene with full animation. Optional speed control (0.0–1.0).
NEW
get_sensors
List motion sensors, temperature sensors, light level sensors, buttons, and remotes.
V1 API
get_groups / get_scenes
List rooms, zones, groups, and all saved scenes on the bridge.
V1 API
discover_bridge / create_user
Auto-discover bridges on the network and register a new API key.

Up in three steps

Install the server, add it to Claude Code, and call setup(). The tool walks you through everything else.

1. Install
# Clone and install
git clone https://github.com/Roach/airglow.git
cd airglow
npm install
2. Configure
// ~/.claude/settings.json
{
  "mcpServers": {
    "hue": {
      "command": "node",
      "args": ["/path/to/airglow/index.js"]
    }
  }
}
3. Setup
# In Claude, call:
setup()

# Bridge found → press link button → create_user → then:
setup({ default_group: 0, hook_light_id: 6 })

# Returns ready-to-paste hook config for .claude/settings.json