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.3

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.3
File Size Uploaded
cursor_agent_beacon-0.5.3.tar.gz 107.5 kB Details

Built distribution (wheel)

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

Total release size: 240.7 kB

Release files / cursor_agent_beacon-0.5.3.tar.gz

Download URL cursor_agent_beacon-0.5.3.tar.gz
Size 107.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2bf7276a5f8d561292e06b0d083bdcfacc93a702393e451b3e626a0c21b722b7
BLAKE2b-256 checksum
How to use checksums
33c3c029e8c2c34f0de6be081d7aae766fa4a63b8474632d4d4cf48771bcd109
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.3-py3-none-any.whl

Download URL cursor_agent_beacon-0.5.3-py3-none-any.whl
Size 133.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
170600d864e659e07cb7a8922425f6760eeed022a802c546af3b90b558af5d40
BLAKE2b-256 checksum
How to use checksums
529681450fcd6d41b2ec70ea2b9b26b422acd260535e9d671173e614efe65141
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

0.5.4

2 release files

This release

0.5.3 This release

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