lm-assist
The Observability Platform for Claude Code & Agent SDK
Monitor, debug, and control AI coding agents with full session visibility, real-time execution tracking, and 155+ REST API endpoints.

- Monitor — real-time execution tracking, per-model cost & token breakdown, SSE event stream
- Debug — 15 insight views per session: Chat, Thinking, Agents, Plans, Team, DAG, Files, Git & more
- Control — web terminal from any browser, start/abort agents via API, remote access from anywhere

Install
/plugin marketplace add langmartai/lm-assist
/plugin install lm-assist@langmartai
Then open a new Claude Code session and run /assist-setup.
Read: Inside Claude Code: The Session File Format and How to Inspect It — technical breakdown of the JSONL session format, message types, subagent trees, and how lm-assist surfaces it all.
Why lm-assist
Claude Code and the Agent SDK have no built-in dashboard. You get a terminal or logs. When you're running multiple agents, debugging a failed execution, or tracking costs across a fleet of machines — you need full visibility into every session, every subagent, every tool call, every token spent.
| Without lm-assist | With lm-assist |
|---|
| Scroll through terminal output | 15 specialized views per session |
| No cost visibility | Per-model token & cost breakdown |
| Can't see what agents are doing | Real-time execution dashboard |
| No way to inspect subagent trees | Full DAG visualization |
| Terminal-only access | Web UI from any device, anywhere |
| Agent SDK runs are black boxes | Same session inspection as CLI |
Three Pillars
1. Monitor
Real-time execution tracking via REST API.
- Session list with slug names, live status, running process detection
- Per-session and per-project cost tracking with per-model token breakdown
- SSE event stream for real-time updates (
GET /stream)
- Multi-machine fleet dashboard via LangMart Hub
- Statusline: context %, rate limits (5h/7d), cost, RAM, PID
Key endpoints: GET /monitor/executions · GET /stream · GET /sessions · GET /projects/sessions
2. Debug
15 data dimensions per session, all accessible via API.
- Conversation, thinking blocks, tool calls, subagent hierarchy, DAG
- File changes, git operations, plans, tasks, team coordination
- Fork tracking, session summaries, skill traces
Key endpoints: GET /sessions/:id · GET /sessions/:id/dag · GET /sessions/:id/subagents · GET /sessions/:id/conversation
3. Control
Full runtime management API.
- Start and abort agent executions
- SDK runner for programmatic headless execution
- Session cache warm/clear
- Web terminal (ttyd) from any browser
- Remote access via LangMart Hub
Key endpoints: POST /monitor/abort/:executionId · POST /ttyd/start · POST /agent/execute · POST /hub/connect
Web Dashboard
See claude-code-webui for the full web dashboard with 15 insight tabs, web terminal, task kanban, and mobile support.

Data Sources
lm-assist reads the same JSONL session files regardless of how they were created:
| Source | What It Produces | lm-assist Coverage |
|---|
| Claude Code CLI | Interactive sessions with subagents, teams, worktrees | Full parsing — all message types, tool calls, metadata |
| Agent SDK (Python/TypeScript) | Programmatic agent executions | Same JSONL format — full session inspection |
Headless mode (claude -p) | Background/CI runs | Detected via process status store |
| Running processes | Live PID, tmux, terminal state | Real-time monitoring with zero polling overhead |
Install
Quick start
npm install -g lm-assist
The postinstall script automatically starts services, installs the statusline, and installs the Claude Code Multisession plugin.
Open a new Claude Code session and type /sessions to verify.
Plugin marketplace
Add the marketplace once — then install any combination of plugins:
/plugin marketplace add langmartai/lm-assist
Three packages work together: