Claude Code sessions — claude_code
Ingests Claude Code session transcripts into the data plane — one event per message, keyed by
session, with project, branch, and model as labels and token-usage fields. Sub-agents roll up
into the same source. Your agent sessions become a queryable source like any other: correlate what
the agent did with what your systems did, and let the agent read back its own history.
There are two transports. Pick one per source — a source either tails files locally or is fed by the plugin, never both.
- Plugin — the NavFlow plugin for Claude Code ships each session’s transcript to the daemon over HTTP as the session progresses. Works against a local or remote daemon, and also wires up the MCP read-back. This is the default choice.
- Local tail — the daemon tails the transcript files (
~/.claude/projects/*.jsonl) directly. Only for a daemon running on the same machine as Claude Code; no plugin needed.
Set up
Plugin
Install the plugin in Claude Code:
/plugin marketplace add glassflow/navflow
/plugin install navflow@navflowThe install prompts for:
- NavFlow URL — the daemon’s base URL (the default
http://127.0.0.1:8787matchesnavflow up) - Auth token (optional) — only if the daemon sets
NAVFLOW_AUTH_TOKEN/NAVFLOW_INGEST_TOKEN; stored in the OS keychain - Stream this session into NavFlow — the capture toggle (on by default)
That’s the only step. One install wires both directions:
- Capture — hooks ship new transcript lines to
/ingest/claude_codeon each prompt, tool use, and session end. The plugin creates the push-mode source on the daemon the first time it runs — no manual source setup. - Read-back — the plugin registers the
navflowMCP server, so the same agent can query the data plane.
One transport per source: a plugin-fed source has push: true (the plugin sets this when it creates
the source), which turns local tailing off. Don’t point the plugin at a source that also tails, or
every message is ingested twice.
Configuration
| field | type | description |
|---|---|---|
root | string | directory holding session transcripts (default ~/.claude/projects; local tail only) |
redact | bool | redact obvious secrets/tokens before storing (default true) |
include_thinking | bool | include assistant thinking blocks in the rendered text (default false) |
push | bool | plugin-fed source — don’t tail files locally (default false; the plugin sets it) |
Redaction runs server-side in the connector, so it applies the same whether events arrive from the plugin or the local tail.
Provided labels
session (the key), project, branch, model, type (message type), sidechain (sub-agent
messages).
Verify
Start a Claude Code session and do some work. In the console, Explore lists sessions under the
session key; the source’s Recent events shows messages as they ship (plugin) or on the next
poll (tail). With the plugin installed, you can also just ask:
Use navflow to show me my current session’s timeline.