Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Claude Context BarNew to Visual Studio Code? Get it now.
Claude Context Bar

Claude Context Bar

ezoosk

|
5,744 installs
| (1) | Free
Real-time context window usage monitor for Claude Code sessions. See token counts in your status bar with color-coded warnings.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Claude Context Bar

Real-time context window monitor for Claude Code sessions in VS Code

Features

🧠 Live Context Tracking — See your Claude Code context usage percentage right in the status bar

✴️ Subscription Usage — Opt-in (off by default): see your Claude /usage Session (5-hour) limit as its own status bar item (e.g. ✴️ 7%), with color-coded warnings independent of the context colors. Hover for the full breakdown (Weekly, and per-model limits like Weekly Fable) with reset times. Experimental, may stop working at any time (see Subscription usage)

⚡ Per-Tab Monitoring — Each Claude Code tab gets its own context indicator

🎯 Fuzzy Emoji Matching — Icons automatically match your project type based on name keywords:

  • 🎵 Music/audio projects
  • 🎮 Games
  • 🌐 Web/frontend
  • 📱 Mobile apps
  • 🤖 AI/ML projects
  • 🔧 Tools/extensions
  • And many more...

🎨 Auto Color Mode — Each project automatically gets a unique pastel color for easy identification

🔍 Smart Context Detection — Automatically sizes the context window per model (1M for current models, 200K for Haiku and legacy), with per-model overrides

⚠️ Color-Coded Warnings:

  • Normal: Under 50% usage
  • Warning (yellow background): 50-75% usage
  • Danger (red background): Over 75% usage

📊 Detailed Tooltips — Hover to see:

  • First message (matches Claude Code tab name)
  • Model name
  • Cache Read / Cache Creation tokens
  • Total context used vs limit
  • Last updated time

🔄 Auto-Refresh — Updates automatically when sessions change or every 30 seconds

🧹 Smart Session Detection — Automatically hides "ghost" sessions when you close tabs or run /clear

👆 Click to Hide — Click any context bar item to temporarily hide it; reappears on new activity

📐 Compact Mode — Shorten project names to save space (my-cool-project → MCP, typescript → Tscript)

Requirements

  • VS Code 1.74.0 or later
  • Claude Code extension installed and active

Install:

  • VS Code Marketplace
  • Open VSX Registry (for Antigravity, VSCodium, etc.)

Configuration

Setting Default Description
claudeContextBar.showEmoji true Show emoji icons based on project name keywords
claudeContextBar.autoColor true Automatically assign unique pastel colors to each project
claudeContextBar.baseColor White Base color when Auto Color is off (subtle variations per project)
claudeContextBar.contextLimit 200000 Fallback for unknown or non-Claude model IDs (Claude models are auto-detected)
claudeContextBar.modelContextLimits {} Per-model overrides: Model ID → token limit (e.g., {"claude-haiku-4-5": 500000}). Exact match, highest priority
claudeContextBar.warningThreshold 50 Percentage for yellow warning
claudeContextBar.dangerThreshold 75 Percentage for red danger
claudeContextBar.showUsage false Opt-in: show your Claude subscription usage (the 5-hour session limit from /usage) as a separate item. Experimental, may stop working at any time
claudeContextBar.usageWarningThreshold 50 Usage percentage for yellow warning (independent of context)
claudeContextBar.usageDangerThreshold 75 Usage percentage for red danger (independent of context)
claudeContextBar.usageRefreshInterval 60 How often (seconds) to refresh subscription usage from the /usage endpoint
claudeContextBar.refreshInterval 30 Refresh interval in seconds
claudeContextBar.idleTimeout 180 Seconds of inactivity before hiding a session (3 minutes). Set 0 to never hide idle sessions
claudeContextBar.compactMode false Shorten project names to save status bar space
claudeContextBar.shortNames {} Custom short names for projects (e.g., {"my-project": "MP"})

How It Works

The extension reads Claude Code's session files from ~/.claude/projects/ and calculates token usage from the JSONL logs. It resolves the context limit per model using this priority chain:

  1. User override — the modelContextLimits setting (exact Model ID match). Highest priority, overrides everything below.
  2. 200K models — Haiku and legacy generations (Claude 3.x, Sonnet 4.5 and earlier, Opus 4.5 and earlier) resolve to 200,000 tokens.
  3. 1M default — every other current Claude model resolves to 1,000,000 tokens (Opus 4.6+, Sonnet 4.6+, Sonnet 5, Fable 5, and anything newer).
  4. Fallback — unknown or non-Claude Model IDs use the contextLimit setting (default 200,000).

Claude session files record only the Model ID, with no context-window field, so the limit is inferred from the ID. The default is 1M because current frontier models all ship with a 1M window, which means new models resolve correctly with no update needed. Haiku and legacy models are the 200K exceptions. If any model is ever mis-sized (for example, your plan caps a model lower than its API window), pin an exact value in modelContextLimits and it always wins.

Sessions inactive for more than 3 minutes (configurable via idleTimeout, 0 disables hiding) are automatically hidden, and reappear as soon as a resumed session writes new activity. The window regaining focus also triggers an immediate rescan. The extension also detects when sessions have been superseded by newer ones (e.g., after running /clear and opening a new tab), hiding ghost sessions immediately.

Subscription usage

Experimental, off by default. This feature relies on an undocumented Anthropic endpoint (the one Claude Code's own /usage command reads). Treat it as a temporary bonus: it may change or stop working at any time, entirely at Anthropic's discretion. Enable it with claudeContextBar.showUsage: true.

The context percentage is computed entirely from local files. The subscription usage (the /usage limits) is different: it is fetched from Claude's authenticated GET /api/oauth/usage endpoint, using the OAuth token that Claude Code stores in your OS credential store (macOS Keychain item Claude Code-credentials, or ~/.claude/.credentials.json on Linux/Windows). This is the same data and the same mechanism Claude Code uses for its own /usage command; the token is used only as the request's Authorization header and is never logged or stored by the extension.

Usage is refreshed on its own cadence (usageRefreshInterval, default 60 seconds, independent of the context refresh) and the last known value is kept during transient failures. The endpoint rate-limits frequent polling, so avoid setting the interval very low. If you are not signed in with a Claude subscription (for example, using an API key), the usage item simply doesn't appear. Turn it off entirely with showUsage.

License

MIT © 2025-2026 Ed Zisk

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft