The Technique — Ambient Awareness for Claude Code
Claude Code Glow is a simple, brilliant hack: it makes the edges of your screen glow a soft orange whenever Claude Code is blocked and waiting for you. This happens when a turn is finished, a permission prompt appears, an AskUserQuestion is triggered, or an MCP server needs input. The glow disappears the moment you unblock it—by taking action in the terminal or simply focusing a terminal window.
The creator, Noah Kirsch, reports this made his Claude Code workflow at least 30% more efficient by eliminating the need to constantly check the app. No notifications, no dock bouncing—just a peripheral-vision signal that lets you work in another window without losing flow.
Why It Works — Minimizing Context Switching
The core efficiency gain comes from reducing cognitive load. Every time you alt-tab to check if Claude is done, you break your concentration. This tool turns a manual, disruptive check into a passive, ambient signal. Your brain processes the glow subconsciously, letting you decide when to switch context on your terms.
The implementation is smart about filtering noise. Claude Code has several hooks that fire for informational events (like idle_prompt or auth_success). The included hooks.json configuration only wires up the events that actually require user input, preventing false positives.
How To Apply It — Installation and Customization
This is a macOS-only solution built on Hammerspoon. Here's how to get it running:

# 1. Install prerequisites
brew install --cask hammerspoon
brew install jq
# 2. Clone and install
git clone https://github.com/noahkirsch/Claude-Code-Glow
cd Claude-Code-Glow
./install.sh
# 3. Restart Claude Code
The installer does four things:
- 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. Use ./uninstall.sh to remove everything.
Customization Options
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 } -- Change to cyan
spoon.ClaudeGlow.thickness = 60 -- Wider glow band
spoon.ClaudeGlow.layers = 32 -- Smoother gradient
spoon.ClaudeGlow:start()
Defaults are orange ({ red = 1.0, green = 0.45, blue = 0.0 }), thickness 42, and 24 gradient layers.
Terminal Focus Behavior
The glow clears when you focus specific terminal apps. To modify this list:
spoon.ClaudeGlow.terminalBundleIDs = {
["com.apple.Terminal"] = true,
["com.googlecode.iterm2"] = true,
["dev.warp.Warp-Stable"] = true,
["org.alacritty"] = true,
-- Add or remove as needed
}
This means you can acknowledge Claude needs you just by clicking into your terminal—no typing required.
How It Works Under the Hood
Hammerspoon creates a full-screen transparent canvas with stacked rectangles at decreasing alpha, forming a soft gradient band around every display. This canvas sits at the overlay window level, ignores clicks, and joins all Spaces so you see it everywhere.
Claude Code hooks fire hammerspoon://claudeglowon and ...glowoff URLs. Hammerspoon's URL event handler toggles the canvas visibility. The entire system is lightweight and responsive.
Limitations and Considerations
- macOS only: Requires Hammerspoon, which is macOS-exclusive
- Terminal dependency: Currently only clears glow when focusing terminal apps
- Visual only: No audio or other notification channels
Despite these limitations, for macOS developers who split attention between Claude Code and other windows, this represents one of the highest ROI improvements you can make to your AI-assisted workflow.







