Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Claude Subagents ViewerNew to Visual Studio Code? Get it now.
Claude Subagents Viewer

Claude Subagents Viewer

Juan Camilo Zapata Velez

| (1) | Free
Panel lateral en vivo de los subagentes de Claude Code: quien esta corriendo, que herramienta ejecuta ahora, cuanto lleva y que informe entrego al terminar. Con dashboard grafico y detalle por subagente.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Claude Subagents Viewer

Extensión de VS Code para ver en vivo los subagentes que despliega Claude Code: cuáles están corriendo, qué herramienta están ejecutando en este momento, cuánto llevan, y qué informe entregaron al terminar.

No necesita ninguna API ni configuración de Claude Code: lee directamente los transcripts que Claude Code ya escribe en disco.

Qué muestra

Las tres vistas comparten un mismo sistema de diseño (src/ui.ts): paleta de estados validada en tema claro y oscuro, iconos por categoría de herramienta, colores por tipo de subagente y tooltips explicativos en cada elemento. El estado nunca depende solo del color: siempre lleva icono, etiqueta y una frase que explica qué significa.

Panel lateral (icono de robot en la barra de actividad)

Es un webview propio, no un árbol nativo, así que cada subagente es una tarjeta con color de estado:

  • Cabecera viva: «2 subagentes activos ahora · en 1 sesión · último cambio hace 3 s», y cuatro contadores (activos, listos, detenidos, cancelados) que funcionan como filtros de un clic. Debajo, buscador (nombre, tipo, herramienta, fase, modelo) y selector de ámbito («Solo este proyecto» / «Todos los proyectos») con el número de sesiones de cada uno. Cuando hay un filtro activo se muestra «Mostrando 3 de 25 · estado ejecutando · quitar».
  • Sesiones: carpeta de trabajo, pastilla «abierta» (hay un proceso de Claude Code vivo) o «cerrada», desde dónde se lanzó (VS Code / terminal), número de subagentes y workflows, herramientas con error, última actividad y una barra apilada con la proporción de estados. Colapsables; con acciones «gráfico» (dashboard filtrado por esa sesión) y «carpeta».
  • Workflows: agrupan a sus agentes con el nombre del script, barra «5 de 10 completados», chips de fase con el número de agentes en cada una (la fase en curso resaltada) y estado global.
  • Tarjeta de subagente: icono de estado (anillo girando si ejecuta), nombre (con sufijo #id cuando varios comparten prompt), tiempo transcurrido en vivo, badges de tipo, fase, modelo («Opus 5») y anidamiento; y según el estado:
    • Ejecutando → línea «AHORA» con icono y nombre de la herramienta, su resumen (el comando, el archivo…) y cuánto lleva en esa llamada; si supera 60 s aparece un aviso «puede ser un comando largo o un proceso colgado».
    • Completado → extracto del informe final.
    • Detenido → «Sin actividad desde hace 6 m; no cerró su turno» (el tooltip explica las causas habituales).
    • Cancelado → «Detenido por el usuario tras 3 m y 12 herramientas».
    • Pie con herramientas, errores (en rojo), tokens y la tira de actividad (una celda por llamada, coloreada por duración; rojo = error; punteada = en curso).
    • Al expandir (›): tarea recibida, herramientas usadas con recuento, los últimos 8 pasos con icono, duración y error, y botones «Ver detalle», «Transcript», «Informe», «Prompt».
  • Estado vacío que explica qué hace falta para que aparezca algo y, si hay sesiones ocultas por el ámbito, un botón para verlas.
  • Pie con leyenda desplegable (estados, tira de actividad, iconos de herramienta, umbral) y «actualizado hace N s».

Los tiempos avanzan cada segundo en el propio panel; los datos se refrescan al cambiar los transcripts.

Panel gráfico (botón 📊 en la cabecera del panel, o clic en la barra de estado)

  • Barra de filtros pegajosa: sesión, estado (Todos / Ejecutando / Completados / Con problemas), búsqueda y vista tarjetas/tabla.
  • KPIs con cifra grande y sublabel que explica qué cuenta cada uno; los de estado actúan como filtro.
  • Gantt de actividad de una sesión (con línea de «ahora» y tooltip por barra).
  • Tarjetas con la misma anatomía que el panel lateral, herramientas más usadas coloreadas por categoría, reparto por categoría y tabla con todos los valores en texto.

Panel de detalle

Clic en cualquier subagente: cabecera fija con badges, estado y su explicación, botones (transcript, copiar prompt, copiar informe, revelar carpeta), barra «AHORA» con tiempo en vivo, tarjetas de estadísticas (duración, herramientas y errores, mensajes, tokens con barra entrada/salida/caché, última actividad), tira de actividad, chips de herramientas usadas, informe final e línea de tiempo numerada (#1, #2…) con filtros (Todo / Herramientas / Errores / Razonamiento / Respuestas) y búsqueda; cada evento despliega su entrada y su resultado.

Barra de estado

⟳ 3 subagentes cuando hay actividad; 🤖 N cuando no. Clic para abrir el panel gráfico.

Instalación

cd D:\ANTHROPIC\claude-subagents-viewer
npm install
npm run compile
npm run package          # genera claude-subagents-viewer-0.2.0.vsix
code --install-extension claude-subagents-viewer-0.2.0.vsix --force

Para desarrollar: abre la carpeta en VS Code y pulsa F5 (Ejecutar extensión).

De dónde saca los datos

Claude Code escribe cada subagente como un JSONL independiente:

~/.claude/
├── sessions/<pid>.json                                 # sesiones vivas (pid, cwd, busy/idle)
└── projects/<proyecto>/
    ├── <sessionId>.jsonl                               # conversación principal
    └── <sessionId>/
        ├── subagents/
        │   ├── agent-<id>.jsonl                        # transcript del subagente
        │   ├── agent-<id>.meta.json                    # { agentType, description, toolUseId }
        │   └── workflows/wf_<id>/agent-<id>.jsonl      # agentes de un workflow
        └── workflows/wf_<id>.json                      # journal: label, fase, estado, tokens

La extensión combina las tres fuentes: el .meta.json da el tipo y la descripción, el journal del workflow da la etiqueta y la fase, y el JSONL da la actividad real.

Cómo decide el estado:

Estado Criterio
ejecutando el último turno no cerró y el archivo se escribió hace menos de 90 s
completado el último turno es texto con stop_reason: end_turn, o el journal lo marca done
detenido quedó a medias y lleva más de 90 s sin escribir (workflow cancelado, sesión cerrada)
cancelado el .meta.json lleva stoppedByUser: true y el turno no se cerró: el usuario lo paró (Esc / stop)

El umbral es configurable (claudeSubagents.runningThresholdSeconds).

Rendimiento

Los transcripts pesan cientos de MB en total, así que no se releen enteros: la primera pasada indexa cada archivo y las siguientes solo parsean los bytes añadidos desde la última lectura, apoyándose en mtime/size para saltarse por completo los que no cambiaron. En un ~/.claude con más de 600 subagentes en 25 sesiones: 1,6 s la primera pasada y ~35 ms cada refresco posterior.

El refresco se dispara por dos vías: un fs.watch recursivo sobre ~/.claude/projects (filtrado a rutas subagents/) y un temporizador de respaldo cada 2 s.

Ajustes

Ajuste Por defecto Qué hace
claudeSubagents.onlyCurrentWorkspace true Solo sesiones cuyo cwd está dentro del workspace abierto (también se cambia desde el selector de ámbito del panel)
claudeSubagents.refreshIntervalMs 2000 Intervalo del temporizador de respaldo
claudeSubagents.runningThresholdSeconds 90 Antigüedad máxima para considerar un agente vivo
claudeSubagents.maxSessions 25 Sesiones recientes a inspeccionar
claudeSubagents.sessionMaxAgeDays 14 Ignorar sesiones más antiguas
claudeSubagents.maxEvents 500 Eventos conservados en memoria por subagente
claudeSubagents.showThinking true Mostrar bloques de razonamiento
claudeSubagents.notifyOnFinish false Notificar cuando un subagente termina
claudeSubagents.claudeHome "" Ruta alternativa a ~/.claude

Los botones de la cabecera del panel abren el dashboard, refrescan y abren los ajustes. Los filtros de estado y el ámbito se manejan dentro del propio panel.

Limitaciones conocidas

  • Un subagente que muere sin escribir su turno final aparece como detenido, no como fallido: el transcript no distingue entre «cancelado» y «cayó por error».
  • El journal del workflow (etiquetas y fases) se escribe cuando el workflow avanza, no en tiempo real por agente. Mientras corre, los agentes sin etiqueta muestran la primera línea útil de su prompt; si varios comparten el mismo prompt base, se les añade un #id corto para distinguirlos.
  • Solo lee lo que hay en disco: no se conecta al proceso de Claude Code, así que no puede cancelar ni relanzar agentes.

CLAUDE-SUBAGENTS-VIEWER

CLAUDE-SUBAGENTS-VIEWER

CLAUDE-SUBAGENTS-VIEWER

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