TokenMonitor is live on Kickstarter — back the campaign while it's running →

Day-to-day

How to use
your desk monitor.

The dashboard explained, what to expect in standby, where to find settings, what each of the four alerts means, and how themes follow your local daylight.

Dashboard

What each number means.

The default screen is three stacked cards plus a single ambient strip. Designed to be read from 2–3 m away in under a second.

  1. 1

    Current — session window

    How much of the provider's active session window you've burned — 5 hours for Claude. The right-side projection is the device's own linear extrapolation from your rate so far, not a forecast from the AI.

  2. 2

    Weekly — rolling 7-day window

    Percent of the rolling seven-day limit consumed, with the projection to the right. Yellow when you're trending over. It is a 7-day window, not a calendar month — and for Codex it is now the only window, since OpenAI unified them.

  3. 3

    Design — Claude's Fable weekly quota

    A smaller third card, Claude only: the separate weekly allowance for its Fable model. It's a quota figure like the other two, not an average, and it stays on screen at zero rather than hiding.

  4. 4

    Ambient strip

    Sunrise · sunset · temperature · battery. Lives under the header. Polls Open-Meteo hourly.

  5. 5

    Last-sync indicator

    The status word at the bottom (Whispering · Generating · Synthesizing) animates only while the broker has fresh data. Once a sample is more than 3 minutes old it counts as stale and the word fades to dim.

Percentages or dollars? Depends on how you pay. On a Pro / Max subscription the cards show the percentage of your plan quota used — the number that actually matters when there's no per-token bill. On a pay-as-you-go API key there's no quota to fill, so the device shows an estimated $ instead — your local token counts priced at public list rates (an estimate, not the invoice).

Standby

It powers itself off after 20 minutes.

After 20 minutes with no usage movement and no touch, the backlight goes dark and a 10-second grace window opens. Touch the screen in that window and it stays awake. Let it run out and the device performs a real power-off — the PMIC cuts the rail, so it draws nothing at all rather than idling on your battery.

Waking it is therefore a press of the PWR side button, not a tap: the screen is unpowered, so it cannot see a tap. The device cold-boots and the dashboard is back in a few seconds. A short PWR press while it is awake starts the same 10-second countdown on demand.

Why so long? 20 min is empirically about one focused work block. Both your usage figures moving and your finger on the screen reset the clock, so it only fires when you have genuinely walked away.

Buttons

Two side buttons.

Everything day-to-day is touch, but the two physical side buttons cover the moments the screen can't help you — sleeping, restarting, and starting over.

PWR — sleep, wake & restart

  • Short press — from awake, start the 10-second countdown to power-off (touch the screen to cancel). From off, power the device back on.
  • Hold ~2 s — restart the device. Nothing is erased — it just reboots, the way you'd power-cycle anything that's acting up. Wi-Fi, city, theme and pairing all come back exactly as they were.

BOOT — pairing mode and factory reset

  • Hold 3–10 s, then release — reboot into pairing mode. This is what opens the USB cable for configuration: nothing is listening on it during normal operation, so an already-online device needs this gesture before the USB route on the setup page will work. Nothing is erased.
  • Hold ~10 s — start a factory reset. A confirmation screen appears first; nothing is erased until you tap Erase (or Cancel to back out).
  • Confirming wipes your settings and pairing — Wi-Fi, city, brightness, providers, alert volume and the broker passphrase — then reboots into first-boot setup, ready to provision again.
  • The device's own identity and security state (its ID and update anti-rollback floor) are preserved, so it re-pairs cleanly without losing its place in the update chain.
Restart first, reset last If something looks wrong, hold PWR to restart before reaching for BOOT — a reboot fixes most transient glitches and keeps your setup intact. Factory reset is the clean-slate option. (Holding BOOT while powering on is not a feature — it drops the chip into its serial-download mode and the screen shows boot:0x1 (DOWNLOAD). Release BOOT and reset. See the FAQ.)

Settings

Tap the gear, bottom-right.

The gear icon on the dashboard's footer band opens Settings. Fields are grouped into six sections so the list scans at a glance instead of becoming one long flat enumeration.

Content

  • Claude Code · Codex · Antigravity — each cycles through four states, not a plain on/off: Auto (follow the broker's own detection), Disabled, Subscription (force the quota-% view) and API key (force the $-spend view)
  • Custom panel (on / off) — it lives here rather than under Display because, like a provider, it decides whether a whole page exists

Display

  • Auto-rotate (Enabled / Disabled)
  • Rotate interval (10..300 s)
  • Theme (Day / Night / Auto)
  • Day brightness · Night brightness

Network

  • City (controls weather + Auto-theme sunrise / sunset)
  • Wi-Fi SSID + password
  • Broker URL (override the auto-discovered one)
  • Passphrase (rotates PSK — broker side updates via skill)
  • Pairing mode — re-opens the USB / LAN pairing window on an already-configured device, without a factory reset

Audio

  • Alert volume (0..100%, default 80) with test buttons for live preview

Pet

  • Show the mascot (on / off) · species · name

About

  • Serial · Device ID · Firmware version · IP address · Broker URL · Broker version (read-only diagnostics)

Edits land on the editor screen with a slider + pencil for exact input. Cancel restores the previous value. The About rows are not editable — they show live device state for troubleshooting.

Settings list
Editor

Alerts

Four events. Hysteresis-armed.

The device fires four kinds of alert. Each is armed with a hysteresis band so it can't oscillate at the boundary — you get a single beep + flash, not a chatter loop.

Battery low

< 20%

The battery percentage turns warning-red and a soft chime plays once, on the crossing — not repeatedly. Silent if the device is already in standby. Clears at 25% or as soon as USB power is back.

label · redchime · once

Battery critical

< 10%

The one alert that is not silenced in standby — but it sounds once on the crossing rather than repeating, and it does not wake the screen. The percentage starts blinking. Clears at 15% or on USB power.

label · blinksbeep · once

Limit overshoot

→ > 100%

The device's own extrapolation says you'll pass the cap before the window resets. The bar and its figure go warning-coloured and one chime plays. Held back until real usage is over 10% — early in a window a tiny sample extrapolates to anything — and re-arms once the projection falls back under 95%. Silent in standby.

bar · recolourschime · once

Session rollover

@ rollover

Marks the moment a session window resets — tracked per provider, not just Claude's. Subtle bell. Silent in standby.

per providerbell · soft

Themes

Day · Night · Auto.

Three modes. Auto follows sunrise/sunset for your configured city — with a ±90 s hysteresis so a passing cloud doesn't trigger a swap. Switch any time from Claude Code, Codex or Antigravity:

> /tokenmonitor:theme day|night|auto
Day

High-contrast, cream paper

Night

Warm dark, low-glare

Auto

Tracks local daylight

Day · Claude Code
Night · Claude Code

Custom panel

Draw your own data.

Swipe up from the dashboard to reach an extra screen that shows whatever you want — a line or bar chart, a pie/donut, a key-value table or plain text. A small script on your laptop writes a JSON file; the broker serves it to the device over the same authenticated LAN link; the device draws it. Edit the file and the screen refreshes within seconds — nothing to recompile or reflash.

It's an opt-in feature, off by default. Turn it on from the device Settings, or from your CLI:

> /tokenmonitor:settings panel_enabled=true
Full walkthrough on the setup page Where the file lives, the [panel] config and per-device files, a copy-paste generator script, colors, poll_s and all five widgets — step by step. Set up a custom panel →
‹ Back Session
Tokens/min
in out

Control plane

Two skills do the heavy lifting.

/tokenmonitor:configure pairs and provisions. /tokenmonitor:theme switches themes. Both ship with every CLI plugin.

Skills reference →