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.
Sessions are fed by the Tares plugin for Claude Code, which ships each session’s transcript to the daemon over HTTP as the session progresses. This works the same against a local or remote daemon, and the one install also wires up MCP read-back.
Set up
The console has a one-click page, Sources → Add source → claude_code, that shows the install
command wired to your instance’s URL (and token, if it needs one). Or run it directly in Claude Code:
/plugin marketplace add glassflow/tares
/plugin install tares@taresThe install prompts for:
- Tares URL: the daemon’s base URL (the default
http://127.0.0.1:8787matchestares up; use your instance’s URL otherwise) - MCP endpoint: where the session reads Tares over MCP. Locally, keep the default
http://127.0.0.1:8788/mcpand runtares mcp --transport streamable-httpnext totares up. On Tares Cloud, usehttps://<cell>.tares-glassflow.com/mcp; there is nothing to start. - Access token (optional): only on a secured instance;
prefer a
read + ingestAPI key so the plugin can both stream sessions and read back over MCP. Stored in the OS keychain. - Stream this session into Tares: the capture toggle (on by default)
On Tares Cloud: sign in with tares login
With the tares CLI installed (1.45.0 or later, plugin 0.5.0
or later), you don’t need to copy a URL or a key into the plugin:
tares loginPick your workspace in the browser. This machine gets its own key on it, and the plugin picks it
up: sessions stream to that workspace with that key while Tares URL and Access token are
left as they came. The one setting left is MCP endpoint: set it to the address tares login
prints, https://<workspace>.tares-glassflow.com/mcp (run /plugin in Claude Code, pick tares,
Configure). The plugin presents the key only to that workspace’s own /mcp. A Tares URL or
Access token you set by hand wins over the login.
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 source on the daemon the first time it runs, with no manual source setup. - Read-back: the plugin connects the session to the MCP endpoint over HTTP, so the same agent can read the data plane. Every session shares that one endpoint; the plugin starts no MCP process of its own.
Upgrading from plugin 0.3 or earlier on a local install? Earlier versions started tares-mcp in
every session. From 0.4.0, read-back needs the MCP endpoint running:
tares mcp --transport streamable-http.
Capture is forward-only: sessions stream from when the plugin is installed onward; existing transcripts already on disk aren’t backfilled.
Configuration
The push source is created automatically by the plugin; these fields tune what’s stored:
| field | type | description |
|---|---|---|
redact | bool | redact obvious secrets/tokens before storing (default true) |
include_thinking | bool | include assistant thinking blocks in the rendered text (default false) |
Redaction runs server-side in the connector, so it applies before anything is stored.
Provided labels
session (the key), project, branch, model, type (message type), sidechain (sub-agent
messages).
Challenger sessions
A session marked with /tares:challenger (or “make this a challenger session”) carries the flow
label on every event from the mark onward, plus the events the challenger hooks write next to the
transcript: session_flow, challenge_plan, challenge_commit, challenge_waived and
session_end, with verdict, sha, round, finding_count and blocking_count as labels. The
challenger workflow guide walks a session end to end and lists
the events.
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. With the plugin installed,
you can also just ask:
Use tares to show me my current session’s timeline.