Claude Nav
A VS Code extension to browse, inspect, and monitor everything Claude Code knows about —
your skills, agents, MCP servers, hooks, plugins, commands, and live sessions — from one sidebar.
Installation
- Install the extension from the Marketplace (or the provided
.vsix).
- Open the Claude Nav icon in the Activity Bar (Claude logo).
- Two views appear: Assets and Runtime.
The Assets view works with no configuration — just open it.
⚠️ The Runtime view requires an explicit setup step that modifies ~/.claude/settings.json. If you have customized your Claude Code statusLine, read the First-time setup section of the Runtime view carefully before running it. You can skip the setup entirely if you only want to use the Assets view.
What the extension reads
Claude Nav does not store any data of its own. It scans the files Claude Code already uses:
| Location |
What it provides |
~/.claude/settings.json |
Personal hooks, MCP servers, enabled plugins |
~/.claude/skills/ |
Personal skills (SKILL.md) |
~/.claude/agents/ |
Personal agents |
~/.claude/commands/ |
Personal slash commands |
~/.claude/plugins/ |
Installed plugins and their bundled assets |
<workspace>/.claude/settings.json |
Project-scoped hooks, MCP, plugins |
<workspace>/.claude/settings.local.json |
Local (gitignored) overrides |
<workspace>/.claude/{skills,agents,commands}/ |
Project-scoped assets |
Set the CLAUDE_CONFIG_DIR environment variable if your personal Claude folder is not at ~/.claude.
The Assets view
The Assets view is a live catalog of every Claude Code asset available to you. Use it to answer questions like "is this skill installed?", "which plugin defines this agent?", "why is my hook not firing?".
What you see
Assets are grouped in one of two layouts:
- Scope-first (default): Personal → Project → Local. Within each scope, assets are grouped by kind (Skills, Agents, MCP Servers, Hooks, Plugins, Commands).
- Kind-first: all Skills together, all Agents together, etc. Each asset shows its scope as a badge.
Toggle between the two with the Toggle Scope / Kind Grouping button in the view title bar.
Reading a row
Each asset row shows, at a glance:
- An icon for its kind (skill, agent, hook, etc.)
- The asset name
- A description line with metadata — e.g.
user-authored, plugin: <name>, disabled, invalid
- A tooltip (hover) with the full file path, source, provenance, and status
Rows are color-coded: red for invalid, dimmed for disabled, normal for healthy.
Actions
Click a row to open the detail panel — a webview showing the parsed frontmatter, raw file content, any config it exposes (e.g. a hook's command, an MCP server's env), and the plugin it came from (if any).
Right-click a row for:
- Open File — jump to the source in the editor
- Reveal in Explorer — reveal in Finder / OS file manager
- Show Details — open the detail panel
- Copy Name / Copy Path — quick clipboard actions
Filtering & search
Use the title-bar buttons or the Command Palette:
| Command |
What it does |
| Search Assets |
Free-text match on name, description, or file path |
| Filter by Scope |
Show only Personal, Project, or Local |
| Filter by Kind |
Show only Skills, Agents, Hooks, MCP Servers, Plugins, Commands |
| Filter by Status |
Show only enabled, disabled, or invalid |
| Filter by Source |
Show only user-authored, plugin-provided, or built-in |
| Show Workspace Assets |
Shortcut: project + local only |
| Show Personal Assets |
Shortcut: personal only |
| Clear Filters / Clear Search |
Reset |
Filters compose — filter by kind and scope and status simultaneously.
Adding marketplaces
Use Add Marketplace to register an additional plugin marketplace URL so assets from that marketplace are discovered and attributed. Remove Marketplace reverses it.
When something looks wrong
- Invalid assets (bad JSON, malformed frontmatter, missing referenced files) are flagged in the tree and surfaced in the VS Code Problems panel with a link to the offending line.
- If an asset you expect to see is missing, open Show Scan Log from the title bar. The log explains every file that was walked, parsed, skipped, or rejected — and why.
- Use Refresh to force a re-scan. The extension also auto-refreshes when
settings.json, settings.local.json, or any scanned directory changes on disk.
- Open Claude Config Folder opens
~/.claude in your OS file manager.
The Runtime view
The Runtime view is a live dashboard of your active Claude Code sessions — context usage, cost, running subagents, and account-wide rate limits. It updates automatically while a session is running.
First-time setup
The first time you open the Runtime view it will show "No runtime data — waiting for Claude Code session…". To enable it, click Install Runtime Bridge Scripts in the view's title bar. A confirmation dialog will appear showing your current statusLine value and exactly what will change; nothing is written to disk until you confirm. After confirming, start (or continue) a Claude Code session and the view will populate.
Please read before installing — this step modifies your Claude Code configuration.
Claude Code does not offer any official way for an external tool to read live session data (context usage, cost, running subagents, rate limits). The only way we can surface this information is by piggy-backing on Claude Code's statusLine feature — the small command Claude Code calls every second to render the bar at the bottom of your terminal.
To make the Runtime view work, the installer does two things:
- Copies a small helper script to
~/.claude/hooks/.
- Changes the
statusLine.command field in ~/.claude/settings.json so that Claude Code calls our helper script instead of whatever it was calling before.
If you have already customized your statusLine (your own script, a third-party statusline, custom colors or metrics), Claude Code will stop calling it after the install. The file stays on your disk — it just isn't executed anymore, because Claude Code only runs the one command listed in settings.json.
Our helper script does render its own statusline in the terminal so you are not left with an empty bar, but it will not look identical to your previous customization.
Safety net. Before writing anything, the installer saves the prior value of statusLine to a backup file at ~/.claude/settings.json.claude-navigator-backup. You can undo the install at any time with the Uninstall Runtime Bridge Scripts command — it restores the backup, removes the helper script, and deletes the backup file.
If you are not comfortable with this trade-off, do not run the install — the Assets view works without it, and every other part of the extension is unaffected.
What you see
At the top: Rate Limits — your account-wide usage with a progress bar and a countdown to the next reset. The icon turns yellow as you approach the limit and red when you're close to exhausting it.
Below that, one row per recent session. Sessions are sorted so the one you're most likely to care about is on top:
- Most recently active (expanded by default, green pulse icon)
- Sessions from the current workspace
- Everything else, by recency
Each session header shows the workspace, the model, the current context percentage, and the cost so far. Inactive sessions are marked (stale) and dimmed.
Inside a session
Expand a session to see:
- Model — the Claude model in use
- Agent — the current subagent, if one is running
- Context — a progress bar and percentage; green / yellow / red as it fills
- Cost — cumulative USD spend
Three expandable sections sit below:
- Details — remaining context, input/output tokens, elapsed duration, workspace path, session ID, last-updated time
- Running Agents (N) — subagents currently in-flight, with how long each has been running
- Recent Agents (N) — the last subagents that finished, with how many times each was used in the session
Managing sessions
- Refresh Runtime — force an update
- Dismiss Session (right-click a session, or the inline ✕) — remove a single session from the view
- Cleanup Stale Sessions — clear all inactive sessions in one click
- Open Runtime State File — open the raw data file in the editor (handy if you want to inspect what the view is reading)
Command reference
All commands are available from the Command Palette under the Claude Nav category, or via the view title bars and context menus.
Assets
| Command |
Description |
| Refresh |
Re-scan and rebuild the asset index |
| Search Assets / Clear Search |
Free-text search |
| Filter by Scope / Kind / Status / Source |
Narrow the tree |
| Show Workspace Assets / Show Personal Assets |
Scope shortcuts |
| Clear Filters |
Reset all filters |
| Toggle Scope / Kind Grouping |
Switch tree layout |
| Open File |
Open the asset's source file |
| Reveal in Explorer |
Reveal in OS file manager |
| Show Details |
Open the detail panel |
| Copy Name / Copy Path |
Clipboard shortcuts |
| Open Claude Config Folder |
Open ~/.claude |
| Show Scan Log |
Open the "Claude Nav" output channel |
| Add Marketplace / Remove Marketplace |
Manage plugin marketplaces |
Runtime
| Command |
Description |
| Refresh Runtime |
Force the Runtime view to update |
| Open Runtime State File |
Open the raw data file in the editor |
| Install Runtime Bridge Scripts |
One-time setup to enable the Runtime view |
| Uninstall Runtime Bridge Scripts |
Undo the setup: restore your prior statusLine and remove the helper script |
| Dismiss Session |
Remove a single session from the view |
| Cleanup Stale Sessions |
Remove all inactive sessions |
Troubleshooting
| Symptom |
Fix |
| An asset is missing |
Run Refresh, then Show Scan Log to see why the file was skipped |
| A plugin shows the wrong asset count |
Check that its marketplace is registered, then Refresh |
| Runtime view says "No runtime data" |
Run Install Runtime Bridge Scripts, start a Claude Code session, then Refresh Runtime |
| A session is stuck as "active" |
It probably ended unexpectedly; use Dismiss Session or Cleanup Stale Sessions |
| Invalid JSON / frontmatter in a file |
Open the Problems panel — the extension points to the exact line |
Privacy
Everything the extension reads is already on your machine, and nothing is sent over the network. Runtime data is written locally inside your workspace's .claude/ folder and can be inspected or cleared at any time.