GitHub - christensen143/claude-trofeo-hud: Live Claude usage HUD for a $38 Thermalright Trofeo Vision LCD — session/weekly limits, token burn, and hypothetical API cost streamed from macOS over USB. · GitHub
/" data-turbo-transient="true" />
Skip to content
Search/
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
christensen143
claude-trofeo-hud
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>2 Commits<br>2 Commits
claude_trofeo_hud
claude_trofeo_hud
docs
docs
spike
spike
src/claude_trofeo_hud
src/claude_trofeo_hud
tests
tests
.gitignore
.gitignore
.python-version
.python-version
PLANNING.md
PLANNING.md
README.md
README.md
TASKS.md
TASKS.md
config.toml
config.toml
pyproject.toml
pyproject.toml
uv.lock
uv.lock
View all files
Repository files navigation
claude-trofeo-hud
A desk HUD that shows live Claude usage on a Thermalright Trofeo Vision 6.86"<br>LCD (1280×480, USB-C, ~$38), driven from macOS. Inspired by the r/ClaudeAI<br>"$38 Claude LCD Table Display" post.
What it shows: Pro/Max session + weekly limit bars with reset countdowns<br>(from Anthropic's usage endpoint), today's tokens and hypothetical API cost<br>(via ccusage), the live session<br>(project, model, burn rate), a clock, and an hourly token sparkline.
Requirements
macOS, Python 3.12+, uv, Node (for npx ccusage)
brew install hidapi (C library behind the hidapi Python package)
Claude Code installed and logged in (the HUD reads its local logs and its<br>OAuth token from the Keychain — read-only, nothing leaves your machine<br>except the usage query to api.anthropic.com)
Setup
uv sync<br>uv run python -m claude_trofeo_hud preview # render mock layout to out/preview.png<br>uv run python -m claude_trofeo_hud run # live HUD on the LCD (Ctrl-C stops)<br>uv run python -m claude_trofeo_hud install-agent # start at login via launchd
On the first run, macOS asks for Keychain access to "Claude Code-credentials"<br>— choose Always Allow so the daemon can run unattended.
uninstall-agent stops and removes the launchd agent. Config lives in<br>config.toml (fps, JPEG quality, night dim/off hours). Logs go to<br>~/Library/Logs/claude-trofeo-hud/.
How it drives the display
The panel is not a monitor — it's a USB HID device (VID:PID 0416:5302) that<br>accepts JPEG frames over a reverse-engineered protocol. We use the device<br>classes from thermalright-trcc-linux<br>with its HidApiTransport (IOHIDManager), bypassing its CLI — trcc's default<br>transport routes through libusb, which macOS blocks for HID devices. The<br>firmware blanks when idle, so the HUD streams continuously (default 2 fps).<br>See PLANNING.md for the full protocol notes.
Troubleshooting
"Access denied (insufficient permissions)" — something is opening the<br>device via libusb instead of hidapi; make sure you're running our CLI, not<br>trcc directly.
Panel shows boot logo / blanks — no frames arriving; check<br>~/Library/Logs/claude-trofeo-hud/hud.log. Unplug/replug is handled<br>automatically with backoff.
Empty cost/tokens — npx ccusage must work in a terminal first; the<br>launchd agent bakes the node path into its plist at install time, so<br>re-run install-agent after Node upgrades.
Limits stale — Keychain access not granted, or you're logged out of<br>Claude Code.
About<br>Live Claude usage HUD for a $38 Thermalright Trofeo Vision LCD — session/weekly limits, token burn, and hypothetical API cost streamed from macOS over USB.<br>Resources<br>Readme<br>Activity<br>Stars<br>0 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.