Search across Claude Code session history
Project description
search-claude-history
Search across all your Claude Code session history for keywords or patterns.
$ sch "git-log-list"
── 2026-02-17 05:35 | -code-rb | session:720d82ef ──
[assistant] There it is — 114 commits, numbered and dated. Usage: `./scripts/git-log-list.sh`...
── 2026-02-23 20:15 | -code-scripts | session:379bb145 ──
[user] do you remember the motivation behind git-log-list.sh? search our session history
2 match(es)
Works out of the box, but fastest with ripgrep installed.
Install
# Run directly (no install needed)
uvx search-claude-history "pattern"
# Or install globally
uv tool install search-claude-history
# With hyperscan for faster searches (matches ripgrep speed)
uv tool install "search-claude-history[hyperscan]"
Requires uv. No system Python needed.
Usage
sch <pattern> [options]
| Flag | Description |
|---|---|
-p, --project |
Filter to a project (substring match on dir name) |
-t, --type |
Filter by role: user or assistant |
-A N |
Show N messages after each match |
-B N |
Show N messages before each match |
-C, --context |
Chars of text context around match (default 200) |
--since TIME |
Only messages at/after TIME (ISO 8601 or relative: 30m, 2h, 1d, 1w) |
--until TIME |
Only messages at/before TIME (same formats as --since) |
--tools |
Include tool_use/tool_result messages (hidden by default) |
--no-color |
Disable colored output |
Examples
sch "database migration" # search everything
sch "TypeError" --type assistant # only assistant messages
sch "deployment" -p myproject # filter to a project
sch "refactor" -B 1 -A 1 # show surrounding messages
sch "SELECT.*FROM" --tools # search tool calls too
sch "deploy" --since 1w # only the last week
sch "error" --since 2026-04-01 --until 2026-04-10
Performance
Searches ~/.claude/projects/ using the fastest available engine:
| Engine | 0.45 GB | Requires |
|---|---|---|
| ripgrep | 0.13s | rg on PATH |
| hyperscan | 0.15s | install with [hyperscan] extra |
| stdlib (mmap + multiprocessing) | 0.64s | nothing |
The tool uses whichever engine is available, in the order above.
Respects CLAUDE_CONFIG_DIR if set, otherwise defaults to ~/.claude/.
Claude Code Skill
This tool can also be installed as a Claude Code skill to help Claude automatically search conversation history when you reference past work.
Install as Skill
mkdir -p ~/.claude/skills/search-history
curl -o ~/.claude/skills/search-history/SKILL.md https://raw.githubusercontent.com/wakamex/search-claude-history/main/skill/SKILL.md
Or manually download SKILL.md into ~/.claude/skills/search-history/.
Note: The skill works with or without installing the tool. If sch is not installed, Claude will use uvx search-claude-history (requires uv).
How It Works
Once installed, Claude will automatically use the skill when you:
- Reference past work ("a few days ago", "last week", "previously")
- Ask about prior conversations or decisions
- Want to find when something was discussed
- Need to recall specific commands or errors from earlier sessions
The skill teaches Claude how to construct effective sch queries with appropriate patterns, context flags, and filtering options.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file search_claude_history-0.1.2.tar.gz.
File metadata
- Download URL: search_claude_history-0.1.2.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13c80f529d48df5539cba4faeb88d89a1d2f7fb53572091af8f20486b6e7b1b8
|
|
| MD5 |
ddd0da1ce10b41713cfcfd6e5a292a3e
|
|
| BLAKE2b-256 |
44036d2b15a39e7278688dff9ee47f8a2ba241dc8da6416dcd58caa89159ae40
|
Provenance
The following attestation bundles were made for search_claude_history-0.1.2.tar.gz:
Publisher:
publish.yml on wakamex/search-claude-history
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
search_claude_history-0.1.2.tar.gz -
Subject digest:
13c80f529d48df5539cba4faeb88d89a1d2f7fb53572091af8f20486b6e7b1b8 - Sigstore transparency entry: 1320462339
- Sigstore integration time:
-
Permalink:
wakamex/search-claude-history@b4cec5aa8641ef6a1b5116490d4e213ca79f8320 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/wakamex
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b4cec5aa8641ef6a1b5116490d4e213ca79f8320 -
Trigger Event:
release
-
Statement type:
File details
Details for the file search_claude_history-0.1.2-py3-none-any.whl.
File metadata
- Download URL: search_claude_history-0.1.2-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dec28f9d6db0255cd47cd69c4d50667a74d60435e0ea84c52285dbc0d558b96f
|
|
| MD5 |
89475fe76074cfc2b55f94efc9ea244d
|
|
| BLAKE2b-256 |
bd7bf5311ca9498ac5ede076e256c0de3e834189016d39a1d5fd5c756141c217
|
Provenance
The following attestation bundles were made for search_claude_history-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on wakamex/search-claude-history
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
search_claude_history-0.1.2-py3-none-any.whl -
Subject digest:
dec28f9d6db0255cd47cd69c4d50667a74d60435e0ea84c52285dbc0d558b96f - Sigstore transparency entry: 1320462386
- Sigstore integration time:
-
Permalink:
wakamex/search-claude-history@b4cec5aa8641ef6a1b5116490d4e213ca79f8320 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/wakamex
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b4cec5aa8641ef6a1b5116490d4e213ca79f8320 -
Trigger Event:
release
-
Statement type: