banditboard

skill
Security Audit
Fail
Health Warn
  • License รขโ‚ฌโ€ License: MIT
  • Description รขโ‚ฌโ€ Repository has a description
  • Active repo รขโ‚ฌโ€ Last push 0 days ago
  • Low visibility รขโ‚ฌโ€ Only 6 GitHub stars
Code Fail
  • new Function() รขโ‚ฌโ€ Dynamic code execution via Function constructor in scripts/site-en.mjs
  • exec() รขโ‚ฌโ€ Shell command execution in scripts/site-en.mjs
Permissions Pass
  • Permissions รขโ‚ฌโ€ No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Turn an old Android phone, or just your Windows PC, into a Claude Code usage monitor ๐Ÿฆ

README.md

๐Ÿฆ Banditboard

English ยท Portuguรชs

Keep your Claude Code and Antigravity limits in sight: on an old Android phone, your iPhone and Apple Watch, or a widget on Windows and Mac.

Raccoons sleeping with an empty session, waking up, turning red near the limit, bursting at 100% and dancing when music plays, then the Antigravity page with the Gemini, Claude and GPT raccoons

Watch the video: Banditboard for Claude Code and Antigravity on Android, iPhone, Apple Watch, Windows and Mac
โ–ถ๏ธ Watch the video

Latest release Total downloads MIT license Last commit GitHub stars
Android 8.0+ iPhone, iOS 17+ Apple Watch, watchOS 10+ Windows 10+ macOS 11+

Get started ยท Website ยท Connect from anywhere ยท All releases

What is Banditboard?

Banditboard is an always-on display for your AI coding limits: Claude Code, Google Antigravity or both. It shows how much of
the 5-hour session and of the week you have used, when each one resets and whether any model has an open incident. Each model is Racco, a pixel-art raccoon who sleeps,
sweats, bursts at 100% and dances when music plays.

It started on that old Android phone sitting in a drawer, and now it runs wherever you look: an iPhone with Home Screen
widgets and StandBy, an Apple Watch with complications, a small always-on-top widget on Windows, and Racco with your session
percentage in the Mac menu bar. Use one or all of them at once: the same Claude Code hook feeds every device. Turn on Claude activity and Racco also follows what
Claude Code is doing right now: working with you, raising a hand when Claude needs you and sleeping when it stops.

Claude Code and Antigravity

On first launch, the phone asks which AI you want to follow. Each tool gets its own color, its own Raccos and its own pages,
and with both on there is a side-by-side screen too.

For Antigravity, Banditboard for Windows reads the quota of the Antigravity open on the same computer, the way View Usage
shows it: Gemini on one side, Claude and GPT on the other, each with its 5-hour window and its weekly one. The Gemini Pro,
Gemini Flash, Claude and GPT-OSS Raccos wear a star, a bolt, glasses and a beanie. The quota reaches your phone through the
same pairing as Claude Code, and the alerts arrive even with the app closed. For now, Antigravity runs on the Windows widget
and on Android; the Mac, the iPhone and the Apple Watch get it later.

First launch on Android: which AI do you want to follow, with Claude Code and Antigravity checked Claude Code and Antigravity side by side on the phone, each in its own color

Why Banditboard?

You usually only check your limits when you remember to run /usage, and the session tends to run out right in the middle of
a task. Banditboard keeps the numbers in sight all the time, on a phone next to your monitor, on your wrist or in a corner of
the screen, and warns you at 80%, 90% and 100%. No terminal to keep open, no tab to refresh. The numbers come from Claude Code
itself, so there is no token or login to hand over.

โœจ Features

  • ๐Ÿ“Š Usage at a glance: 5-hour session and 7-day week, with a countdown and the local time each one resets
  • ๐Ÿ›ฐ๏ธ Antigravity (new in 1.17.0): the Gemini quota and the Claude and GPT quota of Google Antigravity, each with its 5-hour and weekly window, on the Windows widget and on Android. Follow Claude Code, Antigravity or both
  • ๐Ÿค– Claude activity (optional): the project, the branch and what Claude Code is doing right now, and each model's Racco reacts. It works along, shows "โ€ฆ" while commands run, raises a hand with "!" when Claude asks for permission or has a question, celebrates when it finishes and sleeps when it stops. If Claude keeps waiting for you, Windows and Android notify you. On Windows and Android since 1.15.0; the Mac, iPhone and Apple Watch get it in the next version
  • ๐Ÿฆ Racco, the raccoon: one per model (Haiku, Sonnet, Opus and Fable). They blink, wave, sleep when the session is empty, sweat from 85%, turn red from 90% and burst at 100%. Skins, tints and the classic Racco are in the settings. On Antigravity, Gemini Pro, Gemini Flash, Claude and GPT-OSS wear a star, a bolt, glasses and a beanie
  • ๐Ÿ”” Limit alerts: a notification at 80%, 90% and 100% of the session or the week, and another when it resets. On Android they arrive even with the app closed, and the reset alert goes off on time even with the computer off
  • ๐Ÿ“ฑ iPhone: dashboard, Home Screen and Lock Screen widgets, StandBy on the charger, and alerts
  • โŒš Apple Watch: an app with session, week and models, plus complications for your watch face. After pairing through the iPhone, the watch fetches usage by itself
  • ๐ŸŽ Mac menu bar: Racco and the session percentage next to the clock, a small panel on click and an optional desktop widget
  • ๐ŸชŸ Windows widget: full, compact or just Racco in a corner of the screen, always on top, with alerts from Windows itself. Click it to refresh right away, or right-click it for the menu
  • ๐ŸŒ Connect from anywhere: pair on banditboard.pages.dev/conectar and usage reaches your phone outside your home network, encrypted end to end
  • ๐Ÿ“ท QR code pairing: scan a code from the website or from the Windows or Mac dashboard, no PIN needed
  • ๐Ÿ”Œ No token on the phone: the numbers come from Claude Code's own /usage on your computer
  • ๐ŸŽต Music mode: whatever plays on the phone (Spotify, YouTube Music or any player), with cover, controls and volume, while the raccoons dance on every screen
  • ๐Ÿ“ˆ 7-day history: one sample every 30 minutes
  • ๐Ÿ–ฅ๏ธ Web dashboard: the Android app's view in your PC browser, on the local network, with PIN login
  • ๐Ÿšฆ Status and news: open incidents from status.claude.com and the latest Anthropic news
  • ๐ŸŒ™ AMOLED black: plus a few pixels of shift per minute against burn-in
  • ๐ŸŒ English and Portuguese: follows the device's language, or pick one in the settings
  • ๐Ÿ“ฑ Portrait and landscape: a layout for each on Android, and accessibility zoom from 90% to 150%

๐Ÿš€ Get started

Platform File
Android 8.0 or newer Banditboard-<version>.apk Download
iPhone (iOS 17 or newer) and Apple Watch (watchOS 10 or newer), beta Banditboard-1.14.0-iphone.ipa Download
Windows 10 or newer, installer Banditboard-<version>.msi Download
Windows 10 or newer, portable Banditboard-<version>-windows.zip Download
macOS 11 or newer, Intel or Apple silicon Banditboard-1.14.0.dmg Download

On your computer

The Windows and Mac apps are complete monitors on their own, and they also connect Claude Code for your other devices.

Windows

  1. Install the MSI (no admin needed). Prefer not to install? Unzip the ZIP anywhere and run Banditboard.exe.
  2. Click "Connect Claude Code" on the widget. Usage shows up right away. If it can't connect, the widget says why and "What to do" opens the dashboard with the next step.
  3. Keep using Claude Code. After a response, the widget updates. To fetch it on the spot, click the widget, or use "Refresh now" on the dashboard or in the menu (right-click the widget or the tray icon).
  4. Using Antigravity? Just leave it open: Banditboard finds it on its own and adds a blue card to the widget. Turn each tool on or off under Tools, in the same menu.

Mac

  1. Open the DMG and drag Banditboard to Applications.
  2. The app is not notarized by Apple yet, so the first time macOS says it can't verify it. Go to System Settings โ†’ Privacy & Security and click "Open Anyway". On Apple silicon, macOS may offer to install Rosetta first.
  3. Racco shows up in the menu bar. Click it and then "Connect Claude Code". Usage shows up right away, and the menu bar starts showing your session percentage.

On the phone and on the watch

Pick one of three ways to get the numbers there:

  • From anywhere (Android and iPhone). Open banditboard.pages.dev/conectar on any browser. Scan the QR code with the phone, then copy the command for Windows or Mac and run it on the computer where Claude Code runs. Usage goes through the Banditboard server encrypted end to end, so the phone doesn't need to be on your Wi-Fi. On Android, alerts arrive even with the app closed.
  • QR code on your home network (Android and iPhone). On the Windows or Mac dashboard, turn on "Share usage with the iPhone on your home network" and scan the code. It works for Android too.
  • PIN on your home network (Android). Open the address shown on the phone in your PC browser, create a PIN, click "Copy" on the "Claude Code on your PC" card and paste the command into PowerShell.

On Android, the scanner is under "Scan QR code". On iPhone, point the Camera at the code and tap the banner.

The same pairing carries Antigravity too. On Android, the first launch asks which AI to follow, and you can change it later in
Settings โ†’ Tools. For alerts away from home with the app closed, pair from anywhere through the website.

Installing on iPhone (beta). Banditboard is not on the App Store yet. The IPA in the release is unsigned: you install it
with your own Apple ID using Sideloadly (Windows or Mac) or AltStore. With a
free Apple ID, apps sideloaded this way stop opening after 7 days, so refresh or reinstall it once a week; your pairing stays.
Then add the widgets: touch and hold the Home Screen โ†’ Edit โ†’ Add Widget โ†’ Banditboard. For StandBy, charge the iPhone on its
side while locked and add Banditboard to the widget stacks.

Apple Watch. The watch app comes inside the iPhone app. If it doesn't install by itself, open the Watch app on the iPhone
and tap "Install" next to Banditboard. Open Banditboard on the iPhone once: it hands the pairing to the watch, and from then on
the watch fetches usage by itself. To add a complication, touch and hold the watch face โ†’ Edit โ†’ Complications โ†’ Banditboard.

Claude activity

On the Windows dashboard, turn on "Show what Claude Code is doing" in the Claude activity card. Banditboard adds a few
lightweight hooks to Claude Code, and from the next session on the widget shows the state, the project and the branch, like
"Running the tests ยท Simix.Ponto.Cloud ยท feature/facial". The file name is an extra option. Your phone gets it too, and when
Claude asks for permission or has a question and nobody answers in 6 seconds, the computer and the phone notify you. The hooks
only talk to the Banditboard app on your own computer; when it is closed, they do nothing.

Using several devices

Connect each one once. The hook keeps a list of destinations in ~/.claude/clawdboard-targets.json and sends to all of them,
so connecting a new device never disconnects the others.

A Claude Code hook runs /usage after responses, at most every 2 minutes, without using any tokens. Usage from
claude.ai or other devices also shows up, because /usage reports the whole plan. The hook runs on Windows (PowerShell)
and macOS (sh); Linux is on the way.

๐Ÿ” Security

  • No device ever holds a Claude token or calls the Anthropic API. Claude Code on your computer reads your limits with /usage and a small script forwards them. The script never reads Claude Code's credentials.
  • The script sends only the percentages, their reset times and the model family of each session active in the last 10 minutes ("opus", "sonnet"...), nothing from your conversations, files or session IDs.
  • Each push carries a 128-bit pairing key. The receiving app checks it against a SHA-256 hash, and "Create new key" invalidates the old command at once.
  • Connecting from anywhere. The /conectar page creates the keys in your browser: a box ID, a write key, a read key and a 256-bit master key. The Banditboard server (a Cloudflare Worker) only receives SHA-256 hashes of the write and read keys. The script encrypts every push with AES-256-CBC and HMAC-SHA256, with keys derived from the master key, which only the QR code and the command carry. The server keeps the latest encrypted push, its time and a coarse level (0, 80, 90 or 100 for each session and week, of Claude Code and of Antigravity) to know when to wake the Android app, and it can't read the numbers. Android alerts go through Firebase Cloud Messaging as the same ciphertext. A box that receives nothing for 45 days is deleted.
  • QR code on your home network. Sharing is off until you turn it on in the Windows or Mac dashboard. Then the app answers read-only on your home network (ports 47830 to 47839), and only to requests that carry the key from the QR code.
  • On Android, the pairing key is encrypted with AES-256-GCM using a key derived from your PIN (PBKDF2, 150,000 iterations) and wrapped by an Android Keystore key. The PIN is never stored, and 10 wrong PINs in a row wipe the pairing key, the history and the settings. A QR code pairing is kept in the app's private storage and needs no PIN.
  • On iPhone and Apple Watch, the pairing lives in the Keychain, shared only with Banditboard's own widgets.
  • The Android web dashboard only runs on the local network, asks for the same PIN and only answers when the Host is an IP address, localhost or a .local name, which blocks DNS rebinding. Logging in on the dashboard also unlocks the phone screen.
  • The installer keeps a backup of your Claude Code settings in settings.json.antes-do-clawdboard, adds two hooks (Stop and SessionStart) and does not touch your status line.
  • Claude activity. The activity hooks send each Claude Code event only to the Banditboard app on the same computer (127.0.0.1). The app keeps just the state, the project folder name and the branch (and the file name, if you turn it on) and sends only that to your other devices, the same way it sends usage: over your home network or encrypted end to end through the server. Prompts, code and commands never leave the computer.
  • Antigravity. Banditboard reads the quota from the Antigravity language server on the same computer, only over 127.0.0.1, with the same local calls the Antigravity window uses for View Usage. The local token Antigravity puts on its own command line stays in memory and is never saved. There is no Google login, and only the percentages, the reset times and the plan name go to your devices.
  • The Windows and Mac apps receive pushes only on 127.0.0.1, and they still check the pairing key on every push.
  • Music mode needs notification access because Android only shows the active player to apps with that access. Banditboard uses it to see and control the player; it does not read your notifications.

Read the scripts before you run them. Everything that runs on your computer is short and auditable:
install.ps1 and install.sh (write the hook and
edit settings.json), usage.ps1 and usage.sh (the
hook itself) and connect.ps1 (the wrapper the Windows app uses to run the
installer). The server is worker/src/index.js.

Check the download. Every release lists the SHA-256 of each file. Compare it with yours:

Get-FileHash .\Banditboard-1.17.0.msi -Algorithm SHA256
shasum -a 256 Banditboard-1.14.0.dmg

๐Ÿ“ฑ Screenshots

Android

Dashboard Mascots screen 7-day history
Dashboard Mascots 7-day history

Desk clock in portrait Notifications: week at 80% and session at 90%, with the reset time

The desk clock in portrait, and the limit alerts. The phone keeps a quiet notification while it listens for your PC, so the
alerts arrive even with the app closed. You can turn them off in Settings โ†’ Screen.

Antigravity

Antigravity page on the phone with session and week for Gemini and for Claude and GPT, and the four Antigravity raccoons

Windows widget with a Claude Code card and an Antigravity card Compact widget with Claude Code and Antigravity

Antigravity section of the Windows dashboard with a card per group, each with the session and the week

Each group gets its own row and its own reset time, just like View Usage. On the Windows dashboard, each group has a card with
both windows, and the Raccos show the tightest window of their group. On Android, turn each tool on or off and pick the theme
in Settings โ†’ Tools.

Tools section of the Android settings with Claude Code and Antigravity, a Show checkbox for each, and the theme choice

iPhone

iPhone dashboard with session, week and the four raccoons iPhone dashboard scrolled down to status and news iPhone settings with raccoon, skin, tint, language, alerts and pairing

Medium and small Home Screen widgets with session, week and Racco Limit alerts on the iPhone

The dashboard, the settings, the Home Screen widgets and the alerts (the last two shown in Portuguese). The widgets also come in
Lock Screen sizes and show up in StandBy. iOS decides how often apps refresh in the background, so on iPhone an alert can arrive
a few minutes late.

Apple Watch

Apple Watch with the session at 37% and the reset time Apple Watch with the week at 64% Apple Watch with the four raccoons and each model's usage

Turn the Digital Crown to go from the session to the week and the models. The complications come in circular, rectangular,
corner and inline shapes.

Mac

Racco and 37% in the Mac menu bar, with the panel open below it Mac desktop widget

Mac dashboard with session, week, models, status, news, widget settings and the iPhone pairing code

Click Racco in the menu bar for the small panel. From there you can turn the desktop widget on or off, open the dashboard or
refresh now. The dashboard has every setting, "Open at login" and the code to pair the iPhone.

Claude activity

Windows widget showing Editing FacialService.cs ยท Simix.Ponto.Cloud ยท feature/facial, with the Opus raccoon working Windows widget with the Sonnet raccoon raising a hand and an exclamation mark while Claude asks permission to run a command

Racco reactions: thinking, running the tests with dots, asking permission with an exclamation mark, an error with a red cross, and idle asleep

Each model's Racco follows its own session: here Opus is editing while Sonnet waits for permission. The compact widget and Just Racco
react too, and on the Mac the menu bar gets an orange "!" when Claude needs you.

Windows widget

Windows widget with session, week and the four raccoons Compact widget Just Racco

Windows dashboard with session, week, models, status, news, the 7-day chart, widget settings and credits

Full, compact or just Racco: pick the layout in the tray icon menu. Double-click any widget, or pick "Dashboard and settings" in
the tray, to open the dashboard: the same cards as the phone's web dashboard, every widget setting and the credits, with a QR
code to get the phone app. Drag the widget anywhere; it remembers the spot, can stay out of the taskbar and can start with
Windows. When music plays on Windows, the raccoons dance. With a single Claude Code session open, Just Racco and the compact
widget wear that session's model accessory (glasses for Opus, a top hat for Fable). Click the widget to refresh it right away,
and Racco gives a little wiggle. Right-click it for the same menu as the tray icon.

Racco reactions

Raccoons sleeping Raccoons sweating at 88% Raccoons red at 97%
Empty session: asleep 88%: sweating 97%: red and shaking
Raccoons burst at 100% Only Fable burst Raccoons dancing
100%: burst Fable's own limit at 100%: only Fable bursts Music playing: dancing

Opus is gray with X eyes in these shots because the sample data includes an open incident on status.claude.com.

Music mode

Music screen with cover, track, controls, volume and dancing raccoons

๐Ÿ› ๏ธ Troubleshooting

  • Windows says "Windows protected your PC". The installer is not digitally signed yet. Click "More info" and then "Run anyway". If you want to be sure it is the right file, compare its SHA-256 with the one in the release.
  • macOS says it can't verify Banditboard. The app is not notarized yet. Go to System Settings โ†’ Privacy & Security and click "Open Anyway". You only need to do this once.
  • Android won't install the APK. It comes from GitHub, not from the Play Store, so Android asks you to allow "install unknown apps" for the browser or file manager that opened it.
  • The iPhone app stopped opening. With a free Apple ID, sideloaded apps last 7 days. Refresh it in AltStore or install the IPA again with Sideloadly; the pairing stays.
  • "Restricted setting" when turning on music mode. On Android 13 and later, an APK installed from a browser or file manager can't get notification access right away. Go to Settings โ†’ Apps โ†’ Banditboard โ†’ โ‹ฎ โ†’ Allow restricted settings, and try again.
  • The phone stopped updating after the router restarted. With the PIN pairing, the phone probably got a new IP. The screen and the dashboard footer always show the current address: open it on the PC and run the command again. To avoid this, reserve a fixed IP for the phone in the router, or connect from anywhere through the website.
  • Windows can't connect Claude Code. The widget shows the reason, and "What to do" opens the dashboard with the next step and the exact PowerShell error. The details go to %APPDATA%\Banditboard\conectar.log (without the pairing key), which you can attach to an issue.
  • Claude activity doesn't show up. Claude Code loads hooks when a session starts, so open a new session after turning it on. The Windows or Mac app has to be running, because it is what receives the events.
  • The numbers don't move. The hook runs after Claude Code responses, at most every 2 minutes, and Antigravity is read every 15 seconds. To fetch now, click the widget, or use "Refresh now" on the Windows or Mac dashboard, in the tray menu or in the Mac menu bar panel.
  • Antigravity shows "No access". Antigravity is probably running as administrator. Close it and open it again normally, or open Banditboard as administrator. Tools โ†’ "Export Antigravity diagnostics" saves a text file to Downloads, without tokens, passwords or e-mail, which you can attach to an issue.

๐Ÿงญ Roadmap

The issues are written in Portuguese.

๐Ÿ“š Docs

๐Ÿค Contributing

Issues and pull requests are welcome. For bigger changes, open an issue first so we can talk about it. See
CONTRIBUTING.md for how the project is organized and where the explanations live.

Questions and ideas go to Discussions; bugs go to Issues.

๐Ÿ“„ License and disclaimer

Licensed under the MIT License. The Fredoka font is distributed under the SIL Open Font License; its text ships
inside the APK in assets/licenses/.

Banditboard is a personal fan project, not affiliated with, endorsed by or sponsored by Anthropic or Google. Claude and Claude
Code are trademarks of Anthropic, PBC. Google Antigravity, Gemini and Android are trademarks of Google LLC; iPhone, Apple Watch, macOS and StandBy are trademarks of
Apple Inc.; Windows is a trademark of Microsoft Corporation.

Built with โค๏ธ by Vinรญcius Pires da Silva.

Like it? Leave a โญ

Reviews (0)

No results found