# Wynelson94/longhand [Health: Active]

**Category:** 🧠 Knowledge & Memory  
**Repository:** https://github.com/Wynelson94/longhand  
**GitHub Stars:** 14  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/wynelson94-longhand

## Description
Persistent local memory for Claude Code. Indexes every session JSONL verbatim into SQLite + ChromaDB for semantic recall (126ms) across your entire history. Never summarizes, zero API calls, 17 MCP tools including fuzzy recall, deterministic replayfile, and git-aware recallprojectstatus. Published on PyPI as longhand and registered in the MCP Registry.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "longhand": {
    "command": "uvx",
    "args": ["longhand"]
  }
}
```

## Documentation

## What Wynelson94/longhand does

Wynelson94/longhand preserves Claude Code history as a local, searchable archive. It captures session JSONL before Claude Code rotates older files, including tool calls, file edits, and thinking blocks. Stored records remain available after the original transcript files are deleted.

The archive uses SQLite for structured data and ChromaDB for semantic retrieval. Longhand does not send data to an external API, summarize sessions, or decide which parts of a conversation are worth retaining. The result is a local history layer for finding previous work rather than a generated memory summary.

## How it works

Installation is provided through PyPI as `longhand`. Running `longhand setup` ingests existing Claude Code history, installs the relevant hooks, and configures MCP access. The hooks support both a session-ending analysis pass and live ingestion while a session is still active. Live ingestion writes events without embeddings, so semantic recall becomes available after the session-end pass or a reconciliation run.

The MCP server can query the indexed archive using natural-language recall and structured search. Session-oriented tools expose lists, timelines, file history, and replay data. Project-aware status and recall can help distinguish work by project, while the optional reconciler checks for transcripts that have not reached the index. In version 1.x, reconciliation defaults to a dry run unless `fix=true` is supplied.

Wynelson94/longhand also supports a sandboxed `longhand demo` command. The demo uses a fake three-session corpus and does not modify the real `~/.claude` or `~/.longhand` directories.

## Tools and capabilities

The documented capabilities include:

- Fuzzy, natural-language recall across sessions.
- Semantic search with optional session and context-event controls.
- Session listing and event timelines, including tail retrieval.
- File-history lookup and deterministic file replay.
- Project status and recall with Git-aware context.
- Plan-history listing for Write and Edit activity involving Claude Code plan files.
- Reconciliation for detecting or repairing index gaps.

Wynelson94/longhand keeps raw history available for follow-up inspection. Recall results can point to a session or provide a search pattern for drilling into more context, rather than requiring the entire source transcript to be returned at once.

## Setup and configuration

Install the package with `pip install longhand`, then run `longhand setup`. The setup command handles initial history ingestion, hook installation, and MCP configuration. A session archive can be shared with Codex according to the project’s Codex documentation, while the primary workflow targets Claude Code.

The store can be moved by setting `LONGHAND_DATA_DIR`; this relocation applies to the CLI, hooks, and MCP server. The provided notes state that `longhand config --set` still writes to `~/.longhand/config.json` even when the data directory is relocated. JSON output is available from `status` and `doctor` for scripting.

## Limitations and notes

Only history captured by Longhand can be recovered. Sessions that were rotated or deleted before installation are not available unless their JSONL files still exist for initial ingestion. Live-ingested events are queryable through session and file-oriented tools, but recall and semantic search require the later analysis pass.

The project documents Python 3.10 or newer and an MIT license. Hook failures are recorded as breadcrumbs in `~/.longhand/logs/` and surfaced by diagnostic checks rather than causing the hooks to exit nonzero. Database migrations are automatic for the supported 0.11+ store format in later 1.x releases.

_Full upstream README: https://allmcps.com/mcp/wynelson94-longhand/readme_

