Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>session-radarNew to Visual Studio Code? Get it now.
session-radar

session-radar

non2xx

| (0) | Free
Claude Code session status panel (tmux, remote)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

session-radar

See every Claude Code session at a glance — and jump to any of them.

A VS Code extension for running many Claude Code (CLI) sessions in tmux — especially on a remote / WSL host accessed over VS Code Remote / SSH / Tunnel. It shows each session's live status in a side panel, lets you organize sessions into groups, and opens or focuses any session with one click.

session-radar preview

Requirements

session-radar is not a standalone tool — it visualizes and controls terminals for a specific setup. Installing it from the Marketplace alone will show an empty panel until you complete a one-time setup:

  • Claude Code (CLI) running in tmux sessions.
  • A small status hook so each session reports working / waiting / idle (installed via scripts/install-hooks.mjs).
  • Usually a remote / WSL host reached over VS Code Remote (SSH / Tunnel / WSL), where the extension runs in the remote extension host.

See docs/INSTALL.md for the one-time hook setup. Without tmux + the hook, the panel has nothing to show.

Why

If you keep a bunch of Claude Code sessions running (one per project, in tmux), it's hard to tell which one is busy, which is waiting for your input, and which is idle — and tab/terminal lists don't show that. session-radar reads each session's state and puts it all on one panel.

Features

  • Two views, your choice — a native tree view and a compact card view, side by side (collapse whichever you don't use).
  • Live status per session:
    • 🔴 working — Claude is processing
    • 🟡 waiting — Claude needs your input (a question / permission)
    • 🟢 idle — finished, your turn
    • ⚪ unknown — no status yet
  • Auto-discovery — every running tmux session shows up automatically; organize them into your own groups.
  • Open or jump — click a session to focus its terminal if it's open, otherwise open a new one attached to it (tmux new-session -A — attach if it exists, create if not).
  • Split & close from the panel — right-click → "분할로 열기" opens a session tiled side-by-side in the editor area; "분할 닫기" closes its terminal — a tmux detach, so the session stays alive and listed. Manage terminals from session-radar without touching VS Code's own terminal tabs.
  • Open indicator (●) — sessions that currently have a live terminal show a ● in both views, updated as terminals open and close.
  • Terminal location — sessionRadar.terminalLocation: panel (default — terminals in the bottom panel, code stays the main area) or editor (terminals in the main editor area — handy when terminals are your main work). "분할로 열기" always tiles in the editor area.
  • Project paths — assign a folder to a session (right-click → "프로젝트 경로 지정"); newly-created sessions start in that folder (tmux new-session -c). Existing sessions just reattach, unchanged. Hover a session to see its path.
  • Auto-reconnect — on VS Code start/reload, the sessions you've opened reopen automatically. The list lives in ~/.claude/session-radar/open.json (on the WSL host), so it even survives switching between VS Code Tunnel and Remote-SSH. Toggle with the sessionRadar.autoReconnect setting.
  • Manage from either view — create / rename / delete groups, rename (display alias) / hide / add sessions, and drag-and-drop to reorder or regroup.
  • Keyboard — in the card view, ↑/↓ to move, Enter to open.
  • Persistent — your groups, order, and aliases survive restarts.
  • Safe — real tmux sessions are never killed or renamed. "Rename" sets a display-only alias; "delete" just hides from the list.

How it works

A small Claude Code hook writes each session's state to ~/.claude/session-status/<name>.json whenever it changes. The extension watches that folder and renders the panel. Your layout (groups, order, aliases, hidden) lives in ~/.claude/session-radar/layout.json (atomic writes with a backup).

The identity key throughout is the tmux session name (= the terminal name = the status-file name), so status, grouping, and "jump" all line up.

Claude hook ─▶ ~/.claude/session-status/<name>.json ─▶ extension watches ─▶ panel
layout.json (groups / order / aliases) ─────────────────────────────────┘
click a session ─▶ focus its terminal, or open `tmux new-session -A -s <name>`

The extension runs in the remote (WSL) extension host so it can read those files and reach the terminals.

Install

See docs/INSTALL.md: build the .vsix, drop in the hook script, wire the hooks (existing hooks are preserved), and install the extension on the remote host.

Quick version:

npm install && npm run build && npm run package      # → session-radar.vsix
cp scripts/session-status.sh ~/.claude/session-status.sh && chmod +x ~/.claude/session-status.sh
node scripts/install-hooks.mjs                        # adds hooks, backs up settings.json
# then: VS Code → "Extensions: Install from VSIX…" → session-radar.vsix → Reload Window

Notes

  • "waiting" detection relies on Claude Code hook events; the exact events that fire can vary by setup (see scripts/install-hooks.mjs for the wired events).
  • Drag/grouping live in the panel; tmux itself is only ever read (list-sessions) or attached-to (new-session -A).
  • Auto-reconnect list only shrinks via "목록에서 삭제" (hide) — closing a terminal tab keeps the session on the list (so a reload always brings it back). If a session was ended or the machine rebooted, it may reopen as an empty shell; hide it to stop that. For the cleanest behavior you can also disable VS Code's own terminal restore (terminal.integrated.enablePersistentSessions: false) so session-radar is the sole opener.
  • With two VS Code windows open at once (e.g. Tunnel and Remote-SSH), the shared open.json is best-effort — a simultaneous change in one window may not be reflected in the other.
  • Personal tool, shared as-is. Built and validated with a plan → review → test workflow.

License

MIT © 2026 non2xx

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