← Back to blog

We Have Observability for Everything Except the Thing Writing Our Code

Production servers get Datadog. CI pipelines get logs. Claude Code sessions — the richest execution traces a developer has ever produced — get auto-deleted in 30 days.

by Ketan Khairnar
tacit claude-code observability
TL;DR

Claude Code sessions contain decisions, rejected approaches, and reasoning that git log never captures — and they auto-delete in 30 days. I built Tacit to capture, extract, and search that signal before it disappears.

The Gap Nobody Talks About

We instrument everything.

WHAT WE OBSERVE

A single Claude Code session reads 12-50 files, runs 20-200 commands, and makes 5-30 trade-off decisions. That’s not a chat log. That’s an execution trace richer than anything your APM produces — and for developers using AI coding agents daily, it’s disappearing silently every month.

Git captures what you decided. It doesn’t capture what you rejected, or why. That reasoning only exists in the session.

Data retention by system — Claude Code sessions have the shortest retention despite being the richest execution trace


Why I Couldn’t Just Use What Exists

The obvious question: don’t CLAUDE.md and project memory files already solve this?

No. They solve a different problem.

DIFFERENT PROBLEMS

CLAUDE.md tells the agent what to do. It doesn’t tell you why the agent chose PKCE over implicit grant three weeks ago, or why it tried Redis first and rejected it.

What about git log? Good commit messages capture 60-70% of decision value. The remaining 30-40% — rejected approaches, dead ends, the reasoning behind trade-offs — is genuinely lost. That’s the gap.

What about a cron job copying ~/.claude/projects/? That gets you capture. It doesn’t get you understanding. Raw sessions are 300+ messages of tool calls, retries, and dead ends. Nobody reads 120K tokens to find one decision.


What I Actually Built

I started by just saving sessions. Raw JSON, dumped into folders. Then I tried to use them.

RAW vs EXTRACTED

Extraction sends the session to Claude (using your existing Claude subscription — no separate API key, no cloud storage, no data leaves your machine beyond what Claude Code already does). It pulls out what matters and throws away the noise.

Three weeks later, I searched “OAuth PKCE Expo” across 200+ saved sessions. One result. 0.02 seconds. The exact decision trace I needed, with the reasoning intact.

That’s the moment I knew this was a product, not a script.


The Hard Parts

Capture isn’t just file copying. Claude Code sessions spawn sub-agents with their own session files. Projects need to be inferred from working directory paths. The session format has no public spec and can change between releases — Tacit has shipped format compatibility updates within 48 hours of every Claude Code release since January.

Extraction needs to be zero-effort. No buttons, no workflow. Sessions arrive, Tacit enriches them in the background. The developer opens the app and sees intent, decisions, and outcomes already populated.

Retrieval is the payoff. “That session where I chose Postgres over Redis” is a semantic query. Full-text search across extracted fields gets you there — across 200+ sessions in 0.02 seconds.

THE THREE LAYERS

The Honest Math

Not every session references a prior one. Realistically, 20-30% of sessions would benefit from past context.

CONSERVATIVE ESTIMATE

But honestly, it wasn’t the math that made me ship. It was the feeling of knowing I solved something three weeks ago, knowing the reasoning existed somewhere, and not being able to find it because the system decided 30 days was enough.


What Tacit Is

A native desktop app for Mac, Windows, and Linux. Everything stays on your machine.

  1. Capture — Auto-save every session before deletion. Sub-agent lineage included.
  2. Understand — AI extracts intent, decisions, context, outcomes. Zero clicks.
  3. Find — Full-text search across 200+ sessions in 0.02 seconds.

One-time purchase. No subscription, no cloud, no accounts.

Early bird

$29 — lifetime access, free updates forever. Early-bird pricing ends when it ends.