Agent Flow
name: agent-flow-visualization
by adisinghstudent · published 2026-04-01
$ claw add gh:adisinghstudent/adisinghstudent-agent-flow-visualization---
name: agent-flow-visualization
description: VS Code extension for real-time visualization of Claude Code agent orchestration as interactive node graphs
triggers:
- visualize claude code agents
- debug agent tool calls
- see agent execution graph
- monitor claude code sessions
- agent flow vscode extension
- watch agents think and branch
- trace agent tool call chains
- configure claude code hooks for visualization
---
# Agent Flow
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
Agent Flow is a VS Code extension that provides real-time visualization of Claude Code agent orchestration. It renders agent execution as an interactive node graph, showing tool calls, branching, subagent coordination, and timing — turning Claude Code's black-box execution into a transparent, debuggable flow.
Installation
Via VS Code Marketplace
1. Open VS Code Extensions (`Cmd+Shift+X`)
2. Search for **Agent Flow** by simon-p
3. Click Install
Or install directly: [marketplace.visualstudio.com/items?itemName=simon-p.agent-flow](https://marketplace.visualstudio.com/items?itemName=simon-p.agent-flow)
Requirements
Quick Start
# 1. Open Command Palette
Cmd+Shift+P (Mac) / Ctrl+Shift+P (Win/Linux)
# 2. Run the command
> Agent Flow: Open Agent Flow
# 3. Start a Claude Code session in your workspace
# Agent Flow auto-detects it and begins streamingOr use the keyboard shortcut:
Commands
| Command | Description |
|---------|-------------|
| `Agent Flow: Open Agent Flow` | Open visualizer in current editor column |
| `Agent Flow: Open Agent Flow to Side` | Open in a side editor column |
| `Agent Flow: Connect to Running Agent` | Manually connect to a specific agent session |
| `Agent Flow: Configure Claude Code Hooks` | Set up Claude Code hooks for live event streaming |
Configuration
Settings available in VS Code settings (`settings.json`):
{
// Path to a JSONL event log file to watch/replay
"agentVisualizer.eventLogPath": "/path/to/agent-events.jsonl",
// Auto-open the visualizer when an agent session starts
"agentVisualizer.autoOpen": true,
// Development server port (0 = production mode, use built assets)
"agentVisualizer.devServerPort": 0
}Auto-Open on Agent Start
// settings.json
{
"agentVisualizer.autoOpen": true
}Claude Code Hooks Setup
Agent Flow uses Claude Code's hook system for zero-latency event streaming. Hooks are configured automatically on first open, but you can reconfigure manually.
Automatic Configuration
Run from Command Palette:
> Agent Flow: Configure Claude Code HooksManual Hook Configuration
If you need to configure hooks manually, Agent Flow starts a local HTTP server that receives events. The hooks forward Claude Code lifecycle events (tool calls, responses, session start/end) to the extension.
Claude Code hooks are configured in `~/.claude/settings.json` or project-level `.claude/settings.json`:
{
"hooks": {
"PreToolUse": [
{
"matcher": ".*",
"hooks": [
{
"type": "command",
"command": "curl -s -X POST http://localhost:PORT/hook -H 'Content-Type: application/json' -d @-"
}
]
}
],
"PostToolUse": [
{
"matcher": ".*",
"hooks": [
{
"type": "command",
"command": "curl -s -X POST http://localhost:PORT/hook -H 'Content-Type: application/json' -d @-"
}
]
}
]
}
}> Agent Flow manages this configuration automatically — prefer using the command palette command.
JSONL Event Log Mode
For replaying past sessions or watching log files generated outside VS Code:
// settings.json
{
"agentVisualizer.eventLogPath": "${workspaceFolder}/logs/agent-session.jsonl"
}Agent Flow tails the file and visualizes events as they arrive. Use this for:
JSONL Event Format
Each line in the log file is a JSON event object:
{"type":"session_start","sessionId":"abc123","timestamp":"2026-03-21T10:00:00Z","model":"claude-opus-4-5"}
{"type":"tool_use","sessionId":"abc123","toolName":"bash","input":{"command":"ls -la"},"timestamp":"2026-03-21T10:00:01Z"}
{"type":"tool_result","sessionId":"abc123","toolName":"bash","output":"total 48\n...","timestamp":"2026-03-21T10:00:02Z"}
{"type":"message","sessionId":"abc123","role":"assistant","content":"I can see the files...","timestamp":"2026-03-21T10:00:03Z"}Multi-Session Support
Agent Flow tracks multiple concurrent Claude Code sessions with tabs. Each session gets its own visualization canvas.
# Start multiple Claude Code sessions in different terminals
# Each appears as a separate tab in Agent Flow
# Click tabs to switch between session graphsInteractive Canvas Features
Navigation
Node Types in the Graph
| Node Type | Visual | Description |
|-----------|--------|-------------|
| Agent/Subagent | Circle | Claude instance making decisions |
| Tool Call | Rectangle | Individual tool invocation (bash, read_file, etc.) |
| Tool Result | Rectangle (dashed) | Output returned from tool |
| Branch | Diamond | Decision point spawning subagents |
| Return | Arrow | Subagent returning result to parent |
Panels
Contributing / Development Setup
git clone https://github.com/patoles/agent-flow
cd agent-flow
npm install
# Build the extension
npm run build
# Watch mode for development
npm run watch
# Run with dev server (hot reload)
# Set in settings: "agentVisualizer.devServerPort": 3000
npm run devExtension Structure
agent-flow/
├── src/
│ ├── extension.ts # VS Code extension entry point
│ ├── hookServer.ts # HTTP server receiving Claude Code hook events
│ ├── sessionManager.ts # Manages multiple agent sessions
│ ├── webviewProvider.ts # Webview panel management
│ └── logWatcher.ts # JSONL file tail watcher
├── webview/
│ ├── src/
│ │ ├── App.tsx # Main React app
│ │ ├── Graph.tsx # Node graph canvas (likely D3 or React Flow)
│ │ ├── Timeline.tsx # Timeline panel
│ │ └── Transcript.tsx # Message transcript panel
│ └── package.json
└── package.json # Extension manifestCommon Patterns
Pattern: Debug a Failing Agent Run
1. Open Agent Flow (`Cmd+Alt+A`)
2. Run your Claude Code command that's failing
3. Watch the graph — look for:
- Red/error nodes indicating failed tool calls
- Unexpected branching
- Loops (agent retrying the same tool)
4. Click the failed tool node to inspect input/output
5. Check the Timeline panel for which tool call took unexpectedly long
Pattern: Replay a Saved Session
# Save Claude Code output to JSONL during a run
# (depends on your Claude Code version/config)
claude --output-format jsonl > session-$(date +%s).jsonl
# Point Agent Flow at it// .vscode/settings.json (project-level)
{
"agentVisualizer.eventLogPath": "./logs/session-1234567890.jsonl"
}Pattern: Auto-Visualize All Agent Sessions
// settings.json
{
"agentVisualizer.autoOpen": true
}Now every time a Claude Code session starts in your workspace, Agent Flow opens automatically.
Pattern: Side-by-Side Coding and Visualization
# Open Agent Flow to side so you can code and watch simultaneously
Cmd+Shift+P > Agent Flow: Open Agent Flow to SideThis opens the visualizer in a split editor, keeping your code files accessible in the main editor group.
Troubleshooting
Agent Flow doesn't detect my Claude Code session
1. Verify Claude Code is running in the same workspace folder
2. Check that hooks are configured: run `Agent Flow: Configure Claude Code Hooks`
3. Verify the hook server is running — look for "Agent Flow hook server listening" in the Output panel (`View > Output > Agent Flow`)
4. Try `Agent Flow: Connect to Running Agent` to manually specify the session
Hooks aren't forwarding events
# Test the hook server manually
curl -X POST http://localhost:PORT/hook \
-H 'Content-Type: application/json' \
-d '{"type":"test","sessionId":"test123"}'Check VS Code Output panel for the correct PORT value.
Graph is empty / not updating
1. Check `agentVisualizer.eventLogPath` — if set, Agent Flow reads from file instead of hooks
2. Clear the setting if you want live hook-based streaming:
```jsonc
{ "agentVisualizer.eventLogPath": "" }
```
3. Reload VS Code window (`Cmd+Shift+P > Developer: Reload Window`)
Extension not loading
# Check VS Code version meets requirement
code --version
# Must be 1.85 or later
# Check extension is enabled
# Extensions panel > search "Agent Flow" > verify enabledMultiple sessions showing in wrong tabs
Each session is identified by a unique session ID from Claude Code. If sessions are merging incorrectly, check that each `claude` process is started fresh (not reusing an existing session ID).
Resources
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...