Skip to content

Wynelson94/longhand

v0.5.2 Feature

This release adds 2 notable features for engineering teams evaluating rollout.

Published 1mo MCP Data & Storage
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-memory anthropic chromadb claude-code forensic local-first
+6 more
lossless mcp mcp-server python recall sqlite

Affected surfaces

breaking_upgrade

Summary

AI summary

Silent ingest failures fixed by updating hook command to read JSON from stdin instead of the deprecated CLAUDE_TRANSCRIPT_PATH env var.

Full changelog

Critical fix: if you're on v0.5.1 or earlier, your ingest has silently stopped working.

Modern Claude Code changed how it passes data to SessionEnd hooks — from the CLAUDE_TRANSCRIPT_PATH environment variable to JSON on stdin. Longhand's installed hook command referenced the env var, which is now always empty, so longhand ingest-session has been failing silently on every session end. Your archive looked like it was working but it stopped growing around the time of the Claude Code change.

Run longhand doctor on v0.5.2 and it will now flag a stale hook with a red ✗ instead of hiding it.

Upgrade (re-clone / pull + reinstall)

cd /path/to/longhand
git pull
pip install -e .
longhand hook install    # auto-upgrades the stale hook in settings.json
longhand doctor          # verify everything is green
longhand ingest          # one-shot backfill of any sessions missed during the outage

longhand hook install now detects the old env-var-based hook command and rewrites it in place — no manual JSON editing needed.

What changed

  • ingest-session reads {"transcript_path": "..."} from stdin when --transcript is not supplied. Silently exits if neither is present, so a misconfigured hook can never crash Claude Code's hook chain.
  • hook install auto-upgrades stale pre-0.5.2 hooks in place. Running it on an affected machine detects the old command and rewrites it to the new stdin-based form.
  • doctor loudly flags stale hooks with a red ✗ and the upgrade instruction, instead of showing a green ✓ while ingest is broken.
  • 4 regression tests added to pin the stdin contract so this class of breakage is caught by CI next time Claude Code's hook API moves.

Commits

  • b41a969 v0.5.2: fix silent hook failure on modern Claude Code
  • 7cb480a README: bump version to 0.5.2 and test count to 90

Stats

  • 90 unit tests passing (was 86)
  • Zero behavior changes for users whose hooks were still working

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Wynelson94/longhand

Get notified when new releases ship.

Sign up free

About Wynelson94/longhand

Persistent local memory for Claude Code. Indexes every session JSONL verbatim into SQLite + ChromaDB for semantic recall (~126ms)

All releases →

Beta — feedback welcome: [email protected]