Agent inspector, control room, and transparent proxy for Claude Code.
npx vistaclair
I built this because I wanted to see what Claude Code actually sends to the LLM — the full requests, tool calls, hooks, subagent threads, token counts. The Inspector shows all of it on the wire, in real time, across sessions. From there it grew into a full control surface: multi-tab CLI sessions I can steer from a phone over a tunnel, proxy rules that rewrite or reroute requests to OpenAI/Gemini/DeepSeek/Ollama before they hit the API, and an integrated MCP server for custom tools. I use it daily.
[!WARNING]
The dashboard binds to 0.0.0.0 for remote access. It is protected by the auth token, but do not expose it to untrusted networks without TLS/VPN.
What it does
Inspector — Full request/response capture across all sessions. System prompts, message history, tool definitions, tool call inputs/outputs (JSON tree), thinking blocks, SSE event stream, cURL export. Token breakdown (input, output, cache read/create, reasoning) and cost tracking per turn, per group, per session. Subagent tracking with color-coded parallel swimlane view. Hook events nested under the turns that triggered them. All interactions saved to disk as JSON.
CLI — Multi-tab Claude Code terminal in the browser. Per-session model routing, directory spawning, session save/resume. Paste screenshots from clipboard or drag-drop files directly into a session — works over a tunnel from any device. AskUserQuestion appears inline — answer from any browser and Claude continues.
Provider routing — Route through Anthropic, OpenAI, Gemini, DeepSeek, Kimi, or Ollama. 40+ models pre-configured. The proxy translates Anthropic Messages API to the target format transparently.
Proxy rules — JavaScript middleware that intercepts every request. Swap models, strip tools, inject prompts, short-circuit responses. Describe in English, vistaclair generates the JS. Hot-reloaded, toggleable.
MCP tools — Define custom tools in the browser with typed parameters and a JS handler. Claude gets the capability instantly. Built-in: vista-AskUserQuestion (routes questions to dashboard UI), chat (sub-session delegation).
File manager — Browse, preview, and manage files on the remote machine. Monaco editor, multi-select, integrated shell.
Skills, agents, hooks — Create and edit .claude/ skills, agents, and hooks from the dashboard.
External API — REST and WebSocket interface for programmatic access.
Architecture
Two servers, one process:
Server
Port
Binding
Purpose
Proxy
:3456
127.0.0.1
Intercepts Claude API calls for inspection and routing
Dashboard
:3457
0.0.0.0
Web UI, REST API, WebSocket (auth-protected)
Every claude process gets a unique instance ID in its base URL (http://localhost:3456/i/{id}), so concurrent sessions are fully isolated.
Remote control room, agent inspector, and multi-provider model router for Claude Code
We found that vistaclair demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 1 open source maintainer collaborating on the project.
Package last updated on 30 May 2026
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.