Skip to main content

Grep every Claude Code session you've ever run.

Project description

cc-transcript

Grep every Claude Code session you've ever run. cc-transcript's lossless parser reads Claude Code's on-disk JSONL; the CLI lists transcripts, greps their content, and renders one compact line per event.

CI PyPI License PolyForm Noncommercial

Get started

uvx cc-transcript list

Every session is already on disk under ~/.claude/projects. list finds them newest first, and stats collapses one into a screenful:

Terminal running 'uvx cc-transcript stats' — one session summarized as counts, kinds, models, and tool names

Driving with an agent? Paste this:

/plugin marketplace add yasyf/cc-transcript
/plugin install cc-transcript@cc-transcript

The plugin's skill teaches Claude to answer "what did I ask you yesterday" from its own history, funneling through the CLI instead of reading raw JSONL.

No Claude Code? Point any agent at the CLI
Use `uvx cc-transcript` to investigate my Claude Code sessions: `list` finds
transcripts on disk, `stats` summarizes one, `grep` searches content, and `show`
renders one compact line per event. Start by listing my newest sessions and
summarizing the most recent one. Docs: https://yasyf.github.io/cc-transcript/

Use cases

Ask Claude what you asked Claude yesterday

Yesterday's session is a megabyte of JSONL, and pasting it into a chat blows the context window. Render the spine instead:

uvx cc-transcript show --signal --tail 20 ~/.claude/projects/<project>/<session>.jsonl

--signal keeps only the substantive user and assistant turns. One line per event, a few hundred tokens for the whole exchange. With the plugin installed, skip the command and ask Claude directly; its skill runs this funnel for you.

Find the session where you fixed that bug

The fix happened weeks ago, in one of a few hundred transcripts. Search them all:

uvx cc-transcript grep "TranscriptExpiredError" --project cc-transcript

Hits print under their transcript's path, each line carrying its raw event index; feed an index back into show --range to re-read the conversation around the fix. grep searches your newest 50 transcripts by default; --all takes it to every session on disk, and a no-match run exits 1 so it scripts cleanly.

Debug a token blowup from transcript evidence

A session burned through the context window and you want the culprit, not a guess. Rank the evidence:

uvx cc-transcript stats --per-file --project myapp

Each block reports text, thinking, and tool-io bytes plus per-tool call counts; the blowup stands out as an outsized tool io line. Then grep --tool <name> --with-result pins it to the exact calls.

More in the docs

  • The Python library turns raw JSONL bytes into typed events, a composed filter, and a score in a dozen lines.
  • Filtering events covers composable clauses, specs, and the ready-made NOISE_SPEC.
  • Sentiment scoring buckets conversations and scores them around any inference engine.
  • Feedback mining runs detectors, confidence calibration, and LLM verdict passes over your corpus.
  • Two backends, one protocol pairs a Rust fast path with a Python reference, parity-asserted against each other.
  • API reference documents the complete typed surface, from TranscriptEvent to SessionActivity.

Read the docs for the full guide. Licensed under PolyForm Noncommercial 1.0.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cc_transcript-10.8.0.tar.gz (191.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.28+ x86-64

cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.28+ ARM64

cc_transcript-10.8.0-cp313-abi3-macosx_11_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13+macOS 11.0+ x86-64

cc_transcript-10.8.0-cp313-abi3-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.13+macOS 11.0+ ARM64

File details

Details for the file cc_transcript-10.8.0.tar.gz.

File metadata

  • Download URL: cc_transcript-10.8.0.tar.gz
  • Upload date:
  • Size: 191.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cc_transcript-10.8.0.tar.gz
Algorithm Hash digest
SHA256 58d765e0939575d3e37974c8c1848f9d69db782ea24e83216391f0f4768103f4
MD5 444eee791cf06985e167b3dcf715da52
BLAKE2b-256 69a2f7d6f9364b3a7105c827bee5f7e35ac0c32ab7273f022f981d5e5693b042

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.8.0.tar.gz:

Publisher: release-pypi.yml on yasyf/cc-transcript

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 62a98146e6c001e25ae1d1520d6a9ae9e04a1a851148c1625491f0005db1cc5e
MD5 e17618084a771423e1aadcbd263407b2
BLAKE2b-256 034e6811260569b789b33086bfa856b67a2634c8e16e6c4cc140cd56a4714c4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_x86_64.whl:

Publisher: release-pypi.yml on yasyf/cc-transcript

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e29e49f1f99c20264488ac65b17f01e84b7d9af051a0f3e390ea6a00bec45b83
MD5 2d558a7ef7f5bbc12c10c3eb3f3cf53e
BLAKE2b-256 06a3f1cd8c193f5639ceb5a8782127aafe3026be1f254f5b22a241429494b90f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.8.0-cp313-abi3-manylinux_2_28_aarch64.whl:

Publisher: release-pypi.yml on yasyf/cc-transcript

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cc_transcript-10.8.0-cp313-abi3-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.8.0-cp313-abi3-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b348f8fe6cffe68d81afb91fb548f49c96ec387e35a4888f03cc5e4b132161a7
MD5 5668e396b7ebe8656bf431067afe1158
BLAKE2b-256 4e03eb9156b1528e2cb87a60b4da91606b5417de969fba887eefd84d9b628c88

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.8.0-cp313-abi3-macosx_11_0_x86_64.whl:

Publisher: release-pypi.yml on yasyf/cc-transcript

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cc_transcript-10.8.0-cp313-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.8.0-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a3ebeb9b9fae041fa1b6b2a10e6856a149bc1704d2566a0416555580ee80206
MD5 a9ab710e579b65a4f1507ab10a9c2c93
BLAKE2b-256 a36953cafb9ddc69dbe2dc5435e70428ff332046664fbc843b8d74a9e59de406

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.8.0-cp313-abi3-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on yasyf/cc-transcript

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page