Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ARETI GmbH avatar

Claude Beacon

  • Updated April 11, 2026
  • ARETI-GmbH/claude-beacon

claude-beacon is a visual status signal that makes the terminal background light up as soon as Claude Code is waiting for input, then automatically resets once tools start running again. The color is freely configurable through the /terminal-color command. (Description originally in German.)

Key points

  • Terminal lights on input wait
  • Auto-reset on tool run
  • Configurable color via /terminal-color
  • Visual status signal

Claude Beacon by the numbers

  • Data as of Jul 7, 2026 (Skillselion catalog sync)
/plugin marketplace add ARETI-GmbH/claude-beacon
/plugin install claude-beacon@areti-claude-plugins

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Last updatedApril 11, 2026
RepositoryARETI-GmbH/claude-beacon

What it does

Visual status signal: the terminal background lights up when Claude Code is waiting for input and resets when tools run again; color is configurable.

README.md

claude-beacon

🇬🇧 English · 🇩🇪 Deutsch

A beacon for your Claude Code sessions. The entire terminal background turns green when Claude is waiting for you, red while Claude is working — visible at a glance, even in your peripheral vision.

Maintained by ARETI GmbH · MIT License


Installation

In any Claude Code session:

/plugin marketplace add ARETI-GmbH/claude-beacon
/plugin install claude-beacon@areti-claude-plugins
/reload-plugins

That's it. From now on every waiting session automatically turns green, every working session turns red. Zero config, zero dependencies.


The problem

Multiple parallel Claude Code sessions = you lose track. Which one is waiting for input? Which one is still running? Which one has a permission prompt open? Clicking through tabs is inefficient.

The solution

The entire terminal background signals the state:

State Color When
🟩 Idle (green) #1a4d1a Claude is waiting for your input
🟥 Active (red) #4d1a1a Claude is working (tool calls, streaming, …)

It works via OSC-11 escape sequences — a standard terminal API supported natively by macOS Terminal.app, iTerm2, Ghostty, Alacritty, WezTerm, and Kitty. No extensions, no window manager hacks, no background service in the default mode — just bash and standard escape codes.


Commands

The plugin registers two slash commands:

/terminal-color — pick the idle color

Changes the color displayed while Claude is waiting. Your choice is stored in ~/.config/claude-beacon/color and survives plugin updates.

Interactive (open the picker):

/terminal-color

You get 6 presets plus a custom-hex option:

Symbol Color Hex
🟢 Green (default) #1a4d1a
🔴 Red #4d1a1a
🔵 Blue #1a1a4d
🟡 Olive yellow #4d4d1a
🟣 Purple #3d1a4d
🟠 Orange #4d2e1a
✏️ Custom hex your choice

Direct (skip the picker):

/terminal-color blue
/terminal-color #2d4a8a

/beacon-focus — toggle focus mode

Focus mode for parallel sessions: unfocused windows glow dimmed, the clicked window glows in the full color and gets a ● Claude marker in its window title. You see at a glance which session you're currently in — without losing sight of the waiting ones.

/beacon-focus on       # enable
/beacon-focus off      # disable
/beacon-focus status   # show current state

⚠️ macOS permission required: Focus mode needs to detect which Terminal.app window is frontmost. On first start, macOS asks once for automation permission for Terminal.app (Apple Events via osascript). Click "Allow". The regular beacon mode works without any permission — focus mode is opt-in.


The four states in focus mode

With /beacon-focus on enabled you get four visually distinct states per session:

Focused (clicked) Unfocused
Idle (waiting) bright green #1a4d1a dim green #113211
Active (working) bright red #4d1a1a dim red #321111

The focused window additionally gets the ● Claude title marker.

Fine-tuning via env vars

  • CLAUDE_BEACON_DIM_FACTOR — brightness of the dimmed variant (default 0.65, range 0.01.0)
  • CLAUDE_BEACON_TITLE_MARKER — text of the title marker (default ● Claude)
  • CLAUDE_BEACON_POLL — daemon poll interval in seconds (default 0.6)

The focus daemon is a lightweight background process (~600ms poll) that exits automatically once no Claude sessions are registered anymore.


How it works under the hood

The plugin registers hooks on six Claude Code events. idle.sh sends the green OSC-11 sequence; active.sh sends the red one.

Hook event When Color
Notification Claude needs attention (permission prompt, idle warning) 🟩 green
Stop Claude is done → waiting for user 🟩 green
StopFailure Claude stopped with an error 🟩 green
PreToolUse Claude is calling a tool (= working) 🟥 red
UserPromptSubmit User just submitted input 🟥 red
SessionStart New session starting 🟥 red

Why no SubagentStop?

SubagentStop fires when a subagent (Explore, code-reviewer, …) finishes — even if the main agent is still working. If we switched to green there, the screen would be wrongly colored while Claude keeps running tools.

Instead, PreToolUse acts as a continuous heartbeat: as long as Claude keeps calling any tool, red is held. Only when nothing happens at all (Stop / Notification) does the color switch back to green.


Testing terminal compatibility

To check whether your terminal supports OSC-11:

printf '\033]11;#1a4d1a\007'   # set green
printf '\033]111\007'           # reset to default

Should work in all modern terminals (see list above).


Updating

Pull plugin updates via the marketplace:

/plugin marketplace update areti-claude-plugins
/plugin uninstall claude-beacon@areti-claude-plugins
/plugin install claude-beacon@areti-claude-plugins
/reload-plugins

Since 1.4.1 the focus daemon restarts itself automatically when the plugin version changes — no manual kill needed anymore.

Uninstalling

/plugin uninstall claude-beacon@areti-claude-plugins

Optionally remove the config too:

rm -rf ~/.config/claude-beacon

Repo structure

claude-beacon/
├── .claude-plugin/
│   └── marketplace.json              # marketplace definition
├── plugins/claude-beacon/
│   ├── .claude-plugin/plugin.json    # plugin metadata (v1.4.1)
│   ├── hooks/hooks.json              # hook registration
│   ├── scripts/
│   │   ├── common.sh                 # shared helpers (config, daemon mgmt, dim_color)
│   │   ├── idle.sh                   # sets idle color (green)
│   │   ├── active.sh                 # sets active color (red)
│   │   └── focus-daemon.sh           # focus mode background daemon
│   └── commands/
│       ├── terminal-color.md         # /terminal-color slash command
│       └── beacon-focus.md           # /beacon-focus slash command
├── README.md                         # English (this file)
├── README.de.md                      # Deutsch
└── LICENSE

License

MIT © ARETI GmbH

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.