Skip to main content

Cursor Agent Beacon logo

Cursor Agent Beacon

See what your Cursor agent is doing without watching the chat.
Top-bar status on Ubuntu/GNOME — and optionally a desk display with a pixel-robot status face.

CI PyPI License: MIT Python 3.10+

Agents keep working while you alt-tab, walk away, or switch projects. Beacon turns native Cursor Hooks into glanceable states — so you know when it's thinking, running a shell, done, or stuck — without digging through the chat.

Who it's for: Cursor users on Ubuntu / GNOME (top-bar panel). Hooks + CLI work anywhere Cursor runs; the desk display is optional.

See it

Pixel robot cycling thinking → shell → success

Default theme — thinking → running shell → success. Bring your own GIFs anytime.

Thinking Running shell Success Error
Thinking Running shell Success Error

GNOME top-bar panel (multi-session: state, tool, turn timer):

Thinking Running shell
GNOME panel — Thinking GNOME panel — Running shell

Try the desk-display simulator: live preview · or open preview/display-simulator.html locally.

Quick start (desktop)

pip install cursor-agent-beacon
cursor-agent-beacon setup

Restart Cursor. On Ubuntu/GNOME, reload the shell if the top-bar panel does not appear (Alt+F2 → r on X11, or log out/in on Wayland).

cursor-agent-beacon doctor
cursor-agent-beacon status    # after an Agent chat

You're done when doctor is green and the top bar shows agent state.

Install from git (development)
git clone https://github.com/suribe06/cursor-agent-beacon.git
cd cursor-agent-beacon
./setup.sh

More detail: Getting Started.

Two paths

Path What you get Needs
Desktop (default) GNOME top-bar panel + doctor / status CLI Ubuntu/GNOME + Cursor
Desk display (optional) Same status on a physical 480×480 panel via a local bridge ESP32 board + pip install "cursor-agent-beacon[bridge]"

The desk display ships firmware and flash notes for the VIEWE 480×480 panel; other boards can speak the same serial protocol. See Hardware displays.

Features

  • Glanceable agent states: idle, waiting, thinking, running_shell, running_mcp, success, error
  • Multi-session GNOME panel (focused session + open workspaces)
  • One-shot setup / uninstall; fail-open hooks (never block Cursor)
  • Default pixel-robot theme + custom GIF themes (themes/custom/)
  • Optional HTTP → serial bridge for a desk panel

Custom themes

Drop your own 480×480 GIFs under themes/custom/<name>/ — Pathfinder sprites, radars, whatever fits your desk. The robot is just the default face.

export CURSOR_AGENT_BEACON_THEME=your-theme

See Display themes and themes/README.md.

How it works

Cursor fires hook events during the agent lifecycle — the model does not self-report. Beacon maps those events to high-level states and publishes them through sinks (file, log, HTTP).

Cursor → ~/.cursor/hooks.json → cursor-agent-beacon run → mapper → sinks
                                                      ↓
                              ~/.local/share/cursor-agent-beacon/ → GNOME panel

Details: docs/architecture.md.

Environment variables
Variable Default Description
CURSOR_AGENT_BEACON_LOG true Emit JSON lines to stderr
CURSOR_AGENT_BEACON_FILE true Write latest status file
CURSOR_AGENT_BEACON_STATUS_FILE ~/.local/share/cursor-agent-beacon/status.json Status snapshot path
CURSOR_AGENT_BEACON_HTTP_URL unset Bridge POST /status endpoint
CURSOR_AGENT_BEACON_BRIDGE_HOST 127.0.0.1 Bridge bind address
CURSOR_AGENT_BEACON_BRIDGE_PORT 8765 Bridge HTTP port
CURSOR_AGENT_BEACON_SERIAL_PORT unset ESP32 serial device (dry-run if unset)
CURSOR_AGENT_BEACON_SERIAL_BAUD 115200 Serial baud rate
CURSOR_AGENT_BEACON_THEME standard Theme id (standard or custom name)
CURSOR_AGENT_BEACON_THEMES_DIR packaged / repo themes/ Theme packs root
CURSOR_AGENT_BEACON_REDACT_CONTENT false Hide prompt/response text in status

Project status

Component Status
Python hook handler ✅ shipped
Setup + doctor / status CLI ✅ shipped
Multi-session file sink ✅ shipped
GNOME status panel ✅ usable (polishing)
Standard GIF theme ✅ bundled
Custom GIF themes ✅ themes/custom/
Local bridge service ✅ shipped
VIEWE desk-display firmware ✅ in-repo (firmware/viewe/)

See docs/roadmap.md.

Documentation

Contributing

See CONTRIBUTING.md. Please read the Code of Conduct before participating.

Report security issues privately — see SECURITY.md.

Development

./setup.sh
source .venv/bin/activate
pip install -e ".[dev,bridge]"
pytest -m "not smoke"
ruff check src tests
ruff format --check src tests
pyright

Bridge systemd unit: packaging/cursor-agent-beacon-bridge.service · install script: ./scripts/install-bridge-service.sh

License

MIT — see LICENSE.

Metadata

Release files for cursor-agent-beacon 0.5.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cursor-agent-beacon 0.5.4
File Size Uploaded
cursor_agent_beacon-0.5.4.tar.gz 108.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cursor-agent-beacon 0.5.4
File Interpreter ABI Platform
cursor_agent_beacon-0.5.4-py3-none-any.whl Python 3 none any Details

Total release size: 242.2 kB

Release files / cursor_agent_beacon-0.5.4.tar.gz

Download URL cursor_agent_beacon-0.5.4.tar.gz
Size 108.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d3967335f5a25826611abf1d7e62fe0af17ebc1634ab851c5fa066ecb3217f6a
BLAKE2b-256 checksum
How to use checksums
abad74dde987cf60b60e142bba44509f29186717e504ce5806ec445ac8d83404
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cursor_agent_beacon-0.5.4-py3-none-any.whl

Download URL cursor_agent_beacon-0.5.4-py3-none-any.whl
Size 134.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2d2d0b5f428ea40d1c6d9d9d6d96c153c5241898111f839bc452906fe71670d
BLAKE2b-256 checksum
How to use checksums
203b9471610bcddf193cf41c2f23c25b350826161c3b7e9a846e12acacd9c06e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.5.4 This release

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page