Does manually refreshing AI usage limits give you anxiety?
Now you can live in fear in real-time!

Claude and Codex usage bars built right into your IDE.
WAT321 ships with six read-only widgets - three for Claude, three for Codex - all enabled out of the box. They only read your existing CLI files and poll a safe stats endpoint. They never modify anything.
- 4 usage limit progress bars
- 2 real-time session token status bars
- System notifications when a response finishes
- Heatmap for progress bars
- Epic Handshake - ask Codex, OpenCode and Local LLM requests from Claude using natural language!
- Available on the VS Marketplace, Open VSX Registry, and as a direct
.vsix download
What's Included
Claude Usage
Live progress bars showing your 5-hour session utilization and weekly limits.

Claude Session Tokens
Real-time token count for your active Claude Code session so you can see where you stand without running any commands. Tooltip has the detailed breakdown.

Codex Usage
Same concept, green bars for Codex. Shows remaining capacity - the bars deplete as you use more.

Codex Session Tokens
Real-time token count for your active Codex session. Same layout and activity indicator as Claude session tokens.

Notifications
Get notified when Claude or Codex finishes a response. Works on Windows, Linux, and macOS.
Epic Handshake (opt-in)
Lets you say things like "Ask Codex to review this...", "Have Big Pickle take a swing at this", or "Find out what the local LLM thinks of..." using natural language in any Claude session. The bridge picks the right backend by alias, dispatches the prompt, and the reply lands in the conversation alongside Claude's own answer - no Claude tokens consumed for the other model's work.
Installation
From the VS Code Marketplace or Open VSX Registry
- Open VS Code (or a fork like VSCodium, Cursor, Windsurf, Gitpod - these pull from Open VSX)
- Go to Extensions (
Ctrl+Shift+X / Cmd+Shift+X)
- Search "WAT321"
- Click Install
From a .vsix file
Ctrl+Shift+P / Cmd+Shift+P then Extensions: Install from VSIX
- Select the
.vsix file
- Reload window
Where to find the files:
Provider Toggles
Claude and Codex widgets are both on by default. If a provider's CLI isn't installed, its widgets stay hidden automatically. To turn one off manually, open Settings (Ctrl+, / Cmd+,), search "wat321", and uncheck Enable Claude or Enable Codex - widgets disappear immediately, no reload needed.

Display Modes
WAT321 supports four display densities. Search "wat321" in Settings and pick the one that fits how crowded you like your status bar.
- Auto (default) - automatically picks Full when only one provider is active, Compact when both are active
- Full - 10-block progress bars with all details
- Full + Compact - usage bars stay full size, session tokens shrink to save space
- Compact - 5-block progress bars, session tokens show text only
- Minimal - text-only, usage bars move to tooltips on hover

You can show or hide individual widgets by right-clicking the status bar or using the overflow menu (>>):

How It Works
- Claude Usage / Codex Usage poll each provider's stats endpoint on a safe interval (~2 minutes) with rate-limit protection.
- Session Tokens read local CLI files only - no API calls, no network. Yellow
LOAD flashes during deliberate cache rebuilds (/compact or reload). Red MISS is reserved for unexpected eviction.
- Everything WAT321 writes is a disposable cache inside
~/.wat321/. Settings changes take effect immediately with no reload.
- Epic Handshake adds a widget between the Claude and Codex session token bars. With it on, Claude understands plain-language asks like "ask Codex...", "ask Big Pickle...", or "ask the local LLM..." - the bridge picks the right backend for you, sends the prompt over, and the reply lands right in your Claude conversation. Click the Epic Handshake widget anytime to open the dropdown menu. Manage sessions, models and effort as needed.
What It Doesn't Do
- Core tools will not affect your usage limits. Usage widgets poll a read-only stats endpoint. Session token widgets only read local files.
- Does not store, transmit, or modify your credentials. Anything WAT321 saves locally is disposable and can be cleared at any time from the settings page.
- Does not interfere with Claude Code, Codex CLI, or any other extension.
Requirements
- VS Code 1.100.0 or later
- Claude widgets need an active Claude account with CLI credentials (
~/.claude/.credentials.json)
- Codex widgets need Codex CLI credentials (
~/.codex/auth.json)
- Session token widgets need an active session in the respective CLI tool
- Epic Handshake needs Claude Code plus at least one of: Codex CLI, an OpenCode Zen account (https://opencode.ai/), or a local OpenAI-compatible chat endpoint (llama.cpp
--jinja, Ollama, vLLM, LM Studio)
Supported Plans
| Provider |
Plan |
Status |
| Claude |
Max (5x / 10x / 20x) |
Supported - plan tier detected automatically |
| Claude |
Pro / Free |
Supported - usage data works, plan label not shown |
| Claude |
Team / Enterprise |
Untested - see Known Issues |
| Codex |
Plus / Pro / Team |
Supported |
Additional Settings
- Notifications - System notifications when a response completes. On by default. Choose Off, Auto, System Notifications, or In-App. Filter by provider.
- Enable Heatmap - Colors progress bars as you approach your limits. On by default. Turn off for plain solid bars.
- Status Bar Priority - Adjust widget ordering if WAT321 overlaps with other extensions in the status bar. Requires window reload.
Reset WAT321
Need a clean slate? Open the command palette (Ctrl+Shift+P / Cmd+Shift+P) and run WAT321: Reset WAT321, or check the Reset WAT321 box at the bottom of the WAT321 settings page. This restores WAT321 to its defaults and clears everything it has stored locally. If any WAT321 tool appears unresponsive, this will reset all to a known-good state. A confirmation dialog will appear before resetting.
Known Issues
A few rough edges that are worth knowing about. None of them need any action on your part - they either self-heal or are waiting on upstream fixes.
- Claude Max plan tier label can lag. Upgrades (for example Max 5x to Max 20x) may take a billing cycle to reflect. Actual limits are still correct.
- "Idle" means the usage endpoint throttled a cold poll. Clears on Claude's next activity - no countdown, no wait. "Offline" with a countdown is a real rate limit and reconnects automatically.
- API-only Anthropic accounts stay hidden. Claude widgets need CLI credentials at
~/.claude/.credentials.json.
- Team and Enterprise Claude plans are untested. Should work. Open an issue if something looks off.
Issues & Feedback
Found a bug or have a feature request? Open an issue on GitHub.
License
MIT