Claude Code exports cleaner transcripts than the local corpus actually contains. neo exists in the gap between those two file surfaces.
The interesting part is what stayed on disk.
neo reads Claude Code's local artifacts directly: reminder text found on disk, raw transcripts, subagent copies, retained telemetry rows, memory files, and hook-visible lifecycle events. It indexes them into SQLite and exposes them through a dashboard and MCP server running on the same machine.
hidden reminder rows found on disk in a single local corpus.
of local data volume came from context outside the visible chat transcript in one sample corpus.
local evidence volume relative to what the UI would suggest from the primary conversation alone.
telemetry rows only count what is still retained on disk. Absence does not prove upload or deletion.
Claude Code exports cleaner transcripts than the local corpus actually contains. neo exists in the gap between those two file surfaces.
The dashboard binds to localhost, the database lives under
~/.neo/, and the project does not transmit your data
anywhere.
The environment can be queried from inside itself: `neo-mcp` exposes the local evidence model back into Claude Code without claiming server internals it cannot see.
neo reads `~/.claude/projects/*.jsonl` directly, including system reminders and channel material that the export path strips away.
Hook events and local transcript structure make it possible to see when context was copied, compacted, or routed somewhere the main UI does not emphasize.
neo keeps row counts, cost heuristics, and anomaly interpretation in separate lanes so the strongest claims stay attached to the strongest evidence.
Summary cards, reminders with provenance, sessions, agents, correlations, retained telemetry, memory files, and heuristic state-model analysis served from localhost.
`neo-mcp` registers into Claude Code so the local evidence can be queried from inside the same tool it is inspecting.
`neo-tokens` and `neo-states` give you the accounting and state-model views directly when a browser is unnecessary.
~/.claude/projects/*.jsonl for full transcripts and reminders~/.claude/projects/*/subagents/ for spawned files and sidechains~/.neo/harness_log.jsonl for hook events and compaction traces~/.claude/telemetry/ for telemetry rows currently retained on disk~/.claude/projects/*/memory/ for persistent seeded memory~/.claude/tasks/ for task lifecycle state
The package is neo-harnesster. The command stays
neo.
pipx install neo-harnesster neo
Useful if you want to inspect the implementation or keep the tool next to your own local experiments.
git clone https://github.com/asuramaya/neo.git cd neo python3 neo.py