The Problem: Wasted Context Switches
If you use Claude Code while working in other windows, you've experienced this: you switch back to Claude's terminal, only to find it's been waiting for your input for minutes. You lost focus, missed the prompt, and wasted valuable development time.
Traditional solutions are disruptive. Dock bouncing, notification banners, or sound alerts force a full context switch. You have to stop what you're doing, identify what Claude needs, then decide whether to address it now or later.
The Solution: Peripheral Awareness
Claude Code Glow solves this with ambient signaling. When Claude Code needs your input—whether it's a finished turn, a permission prompt, an AskUserQuestion, or an MCP elicitation dialog—the edges of your screen glow soft orange.

The glow clears instantly when you unblock Claude, either by taking action in the terminal or simply by focusing a terminal window. This means you can acknowledge the signal without immediately switching contexts.
How It Works: Hooks and Hammerspoon
The system uses Claude Code's hook system to trigger visual changes. Here's the technical stack:
- Claude Code Hooks: Modified
settings.jsonto fire specific URLs when Claude needs input - Hammerspoon: macOS automation tool that draws the glow overlay
- Custom Spoon: The ClaudeGlow.spoon package that manages the visual display
Notably, the hook configuration is intelligent. It excludes events that don't actually require user input:
Notificationevents likeidle_promptandauth_success(informational only)SubagentStop(subagent completion doesn't need reaction)
This prevents false positives and ensures the glow only appears when you truly need to act.
Installation: One Command
# Prerequisites
brew install --cask hammerspoon
brew install jq
# Install Claude Code Glow
git clone https://github.com/noahkirsch/Claude-Code-Glow
cd Claude-Code-Glow
./install.sh
# Restart Claude Code
The installer:
- Copies
ClaudeGlow.spoonto~/.hammerspoon/Spoons/ - Appends a loader to
~/.hammerspoon/init.lua - Merges hook wiring into
~/.claude/settings.json(with backup) - Reloads Hammerspoon
It's safe to re-run—already applied steps are skipped.
Customization: Make It Yours
Edit the Spoon call in ~/.hammerspoon/init.lua before :start():
hs.loadSpoon("ClaudeGlow")
spoon.ClaudeGlow.color = { red = 0.2, green = 0.7, blue = 1.0 } -- cyan
spoon.ClaudeGlow.thickness = 60 -- wider band
spoon.ClaudeGlow.layers = 32 -- smoother gradient
spoon.ClaudeGlow:start()
Defaults: Orange ({ red = 1.0, green = 0.45, blue = 0.0 }), thickness = 42, layers = 24.
Terminal Focus Behavior
By default, focusing any of these terminal apps clears the glow:
- Apple Terminal
- iTerm2
- Ghostty
- Alacritty
- Warp
- Kitty
- WezTerm
- Hyper
- Tabby
- Micro
To customize this list, set spoon.ClaudeGlow.terminalBundleIDs before :start():
spoon.ClaudeGlow.terminalBundleIDs = {
["com.apple.Terminal"] = true,
["com.googlecode.iterm2"] = true,
-- Add or remove as needed
}
The Visual Implementation
Hammerspoon draws a full-screen transparent canvas with stacked stroked rectangles at decreasing alpha—creating a soft gradient band around every connected display's edges. The canvas sits at the overlay window level, ignores clicks, and joins all Spaces so you see it everywhere.
When Claude Code hooks fire hammerspoon://claudeglowon and ...glowoff URLs, Hammerspoon's URL event handler toggles the canvases.
Uninstallation
./uninstall.sh
This removes the Spoon, loader lines, and hook entries while preserving backups.
Why This Matters for Developers
Claude Code Glow addresses a fundamental workflow inefficiency. When you're deep in code in another window, you shouldn't need to constantly check if Claude is waiting. This tool provides the information you need without demanding your attention.
The creator reports at least 30% efficiency gains—not from making Claude faster, but from eliminating the cognitive overhead of managing the collaboration.
This follows the trend of ambient computing interfaces that provide information without interruption. It's particularly valuable for developers using Claude Code alongside IDEs, browsers, or other terminals.
Limitations
- macOS only: Requires Hammerspoon
- Requires terminal focus: The glow clears when you focus a terminal, which might not be ideal if you want to keep the indicator while working in the terminal
- Learning curve: Requires comfort with command-line tools and configuration files
Despite these limitations, for macOS developers who frequently work across multiple windows, Claude Code Glow represents a significant quality-of-life improvement.









