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.2.0.tar.gz (187.2 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.2.0-cp313-abi3-manylinux_2_28_x86_64.whl (2.8 MB view details)

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

cc_transcript-10.2.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.2.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.2.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.2.0.tar.gz.

File metadata

  • Download URL: cc_transcript-10.2.0.tar.gz
  • Upload date:
  • Size: 187.2 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.2.0.tar.gz
Algorithm Hash digest
SHA256 bb487ebe10c3e3d73837e16c6011575a8475938e90f4ff92b49bc75d9adf0886
MD5 338323736c372c0814eb41c6b8bcfc06
BLAKE2b-256 24ba5061081812fa8bada64b05866cb819c6cc14cef3b3c31dd292dbc3e0bbad

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.2.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.2.0-cp313-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.2.0-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f347f86b054eb9d0d84a98be3951088560c30ecf67e9f3742f4c65496f1463d7
MD5 9039d8887f6901e493b8e1b4dd27e966
BLAKE2b-256 c78744740cd8a90013580c9a56306c34d3f61b02c912b5506fe631f0cb614b6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.2.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.2.0-cp313-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.2.0-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d98fba92cd683090e6c5bbabc75bb6df365fc0f20daf4f909982f6697747b48e
MD5 68a7712a9f2a3b72e71c8f55775d62be
BLAKE2b-256 cdb110a08807d908643b83509f84e6603b8cfabfac0752c58cd212a8fd4d12c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.2.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.2.0-cp313-abi3-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.2.0-cp313-abi3-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 974104df2695295d707758cb734d03a17141e2d18962b875129521e330773a22
MD5 0f09368183278592e5517bf699250617
BLAKE2b-256 23257cad5931bcfc989b520864b09a86e21947bf2052caca0e3ad636a9a22882

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.2.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.2.0-cp313-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cc_transcript-10.2.0-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b363a5229e1c21c52580f368c9ef2735bc004bd283f0765df7878bd9cb26dc0
MD5 97a79fd7b6045d148be73f2691d34db9
BLAKE2b-256 f572378e065f3d45d3bdbfdbe52b04459fb340ac239438ee31a51894084d1cd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_transcript-10.2.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