Cross-machine semantic search for Claude Code sessions
Project description
claude-jacked
Never lose your Claude Code work again. Search past conversations, share solutions with your team, and get AI-powered code reviews—all from within Claude Code.
What You Get
- Find past solutions instantly — "How did I fix that login bug last month?" Just ask, and get the answer.
- Work from any computer — Start on your desktop, continue on your laptop. Your history follows you.
- Share knowledge with your team — Your teammate already solved this problem. Find their solution in seconds.
- Catch mistakes before they ship — Built-in reviewers check for security issues, complexity, and common bugs.
- Sound notifications — Get audio alerts when Claude needs your attention or finishes a task.
Table of Contents
- Quick Start
- What's Included
- Using the Session Search
- Working with Your Team
- Built-in Reviewers and Commands
- Sound Notifications
- Uninstall
- Common Issues
- Advanced / Technical Reference
Quick Start
Option 1: Let Claude Install It For You
Copy this into Claude Code and it will handle everything:
Install claude-jacked for me. Walk me through each step and help me set up Qdrant Cloud.
Option 2: One-Line Install
Mac/Linux:
curl -sSL https://raw.githubusercontent.com/jackneil/claude-jacked/master/install.sh | bash
Windows (in Git Bash):
curl -sSL https://raw.githubusercontent.com/jackneil/claude-jacked/master/install.sh | bash
After installing, you'll need to set up a free cloud database (Qdrant) to store your session history. The installer will guide you through this, or ask Claude to help: "Help me set up Qdrant Cloud for jacked"
Option 3: Manual Install
pipx install claude-jacked
jacked install
Then follow the cloud database setup instructions below.
What's Included
When you run jacked install, you get:
| Feature | What It Does |
|---|---|
| Session Search | Find any past Claude conversation by describing what you were working on |
| 10 Smart Reviewers | AI assistants that check your code for bugs, security issues, and complexity |
| Quick Commands | /dc for code review, /pr for pull request help |
| Team Sharing | Search your teammates' sessions (with their permission) |
Using the Session Search
Once installed, you can search your past Claude sessions right from within Claude Code.
Example: Finding Past Work
You're working on user authentication and remember solving something similar before:
/jacked user authentication login
Claude will show you matching sessions:
Search Results:
# Score User Age Repo Preview
1 92% YOU 3d ago my-app Implementing JWT auth with refresh tokens...
2 85% YOU 2w ago api-server Adding password reset flow...
3 78% @sam 1w ago shared-lib OAuth2 integration with Google...
Pick one to load that context into your current session.
Example: Resuming Work from Another Computer
You started building a feature on your desktop. Now you're on your laptop:
/jacked that shopping cart feature I was building
Claude finds it and you can continue right where you left off.
Example: Learning from Teammates
Your teammate Sam already built something similar:
/jacked how did Sam implement the payment system
You can see Sam's approach without bothering them.
Working with Your Team
Share knowledge across your team by using the same cloud database.
Setting Up Team Sharing
- One person creates a Qdrant Cloud account and shares the credentials
- Everyone adds the same credentials to their computer
- Each person sets their name so sessions are attributed correctly
# Everyone uses the same database
export QDRANT_CLAUDE_SESSIONS_ENDPOINT="https://team-cluster.qdrant.io"
export QDRANT_CLAUDE_SESSIONS_API_KEY="team-api-key"
# Each person sets their own name
export JACKED_USER_NAME="sarah"
Searching Team Sessions
/jacked payment processing # Shows your work first, then teammates
/jacked payment processing --mine # Only your sessions
/jacked payment processing --user sam # Only Sam's sessions
Built-in Reviewers and Commands
Quick Commands
Type these directly in Claude Code:
| Command | What It Does |
|---|---|
/dc |
Double-check — Reviews your recent work for bugs, security issues, and problems |
/pr |
Pull Request — Helps organize your changes and create a clean PR |
Smart Reviewers
These work automatically when Claude thinks they'd help, or you can ask for them:
| Reviewer | What It Catches |
|---|---|
| Double-check | Security holes, authentication gaps, data leaks |
| Code Simplicity | Over-complicated code, unnecessary abstractions |
| Error Handler | Missing error handling, potential crashes |
| Test Coverage | Untested code, missing edge cases |
Example: After building a new feature:
Use the double-check reviewer to review what we just built
Sound Notifications
Get audio alerts so you don't have to watch the terminal:
jacked install --sounds
- Notification sound — Plays when Claude needs your input
- Completion sound — Plays when Claude finishes a task
Works on Windows, Mac, and Linux. To remove sounds later:
jacked uninstall --sounds
Uninstall
Remove everything:
jacked uninstall && pipx uninstall claude-jacked
Or one-liner:
curl -sSL https://raw.githubusercontent.com/jackneil/claude-jacked/master/uninstall.sh | bash
Your cloud database stays intact, so you won't lose your history if you reinstall later.
Common Issues
"I installed it but search isn't working"
You need to set up the cloud database first. Ask Claude:
Help me set up Qdrant Cloud for jacked
"It says 'jacked: command not found'"
The install didn't add jacked to your PATH. Try:
pipx ensurepath
Then restart your terminal.
"My sessions aren't showing up in search"
Run this to index your existing sessions:
jacked backfill
"I'm on Windows and getting weird errors"
Claude Code on Windows uses Git Bash, which can have path issues. Ask Claude:
Help me fix jacked path issues on Windows
Cloud Database Setup (Qdrant)
The session search feature stores your conversations in a cloud database so you can access them from any computer.
Why Qdrant?
- Smart search — Find sessions by meaning, not just keywords
- Works everywhere — Access from any computer
- Team sharing — Everyone can search the same database
- You control it — Your data stays in your own database
Setting Up Qdrant Cloud
- Go to cloud.qdrant.io and create an account
- Create a new cluster (the paid tier ~$30/month is required for the search features)
- Copy your cluster URL and API key
- Add them to your shell profile:
Mac/Linux — Add to ~/.bashrc or ~/.zshrc:
export QDRANT_CLAUDE_SESSIONS_ENDPOINT="https://your-cluster.qdrant.io"
export QDRANT_CLAUDE_SESSIONS_API_KEY="your-api-key"
Windows — Add to your environment variables, or add to ~/.bashrc in Git Bash.
- Restart your terminal and run:
jacked backfill # Index your existing sessions
jacked status # Verify it's working
Security Note
Your conversations are sent to Qdrant Cloud. This includes:
- Everything you and Claude discuss
- Code snippets you share
- File paths on your computer
Recommendations:
- Don't paste passwords or API keys in Claude sessions
- Keep your Qdrant API key private
- For sensitive work, consider self-hosting Qdrant
Advanced / Technical Reference
CLI Command Reference
# Search
jacked search "query" # Search all sessions
jacked search "query" --mine # Only your sessions
jacked search "query" --user name # Specific teammate
jacked search "query" --repo path # Boost specific repo
# Session Management
jacked sessions # List indexed sessions
jacked retrieve <session_id> # Get session content
jacked retrieve <id> --mode full # Get full transcript
jacked delete <session_id> # Remove from index
jacked cleardb # Delete all your data
# Setup
jacked install # Install hooks, agents, commands
jacked install --sounds # Also add sound notifications
jacked uninstall # Remove from Claude Code
jacked uninstall --sounds # Remove only sounds
jacked backfill # Index all existing sessions
jacked backfill --force # Re-index everything
jacked status # Check connectivity
jacked configure --show # Show current config
Environment Variables
Required:
| Variable | Description |
|---|---|
QDRANT_CLAUDE_SESSIONS_ENDPOINT |
Your Qdrant Cloud URL |
QDRANT_CLAUDE_SESSIONS_API_KEY |
Your Qdrant API key |
Optional:
| Variable | Default | Description |
|---|---|---|
JACKED_USER_NAME |
git username | Your name for team attribution |
JACKED_TEAMMATE_WEIGHT |
0.8 | How much to weight teammate results |
JACKED_OTHER_REPO_WEIGHT |
0.7 | How much to weight other repos |
JACKED_TIME_DECAY_HALFLIFE_WEEKS |
35 | How fast old sessions lose relevance |
How It Works (Technical)
┌─────────────────────────────────────────────────────────────┐
│ YOUR MACHINE │
│ │
│ Claude Code │
│ ├── Stop hook → jacked index (after every response) │
│ └── /jacked skill → search + load context │
│ │
│ ~/.claude/projects/ │
│ └── {repo}/ │
│ └── {session}.jsonl ←── parsed and indexed │
└─────────────────────────────────────────────────────────────┘
│
│ HTTPS
▼
┌─────────────────────────────────────────────────────────────┐
│ QDRANT CLOUD │
│ │
│ • Server-side embedding (no local ML needed) │
│ • Vectors + transcripts stored │
│ • Accessible from any machine │
└─────────────────────────────────────────────────────────────┘
Indexing: After each Claude response, a hook automatically indexes the session to Qdrant. The indexer extracts:
- Plan files (implementation strategies)
- Agent summaries (exploration results)
- Summary labels (chapter titles from auto-compaction)
- User messages (for intent matching)
Retrieval modes:
smart(default): Plan + summaries + labels (~5-10K tokens)full: Complete transcript (50-200K tokens)plan: Just the plan fileagents: Just agent summarieslabels: Just summary labels (tiny)
All Agents
| Agent | Description |
|---|---|
double-check-reviewer |
CTO/CSO-level review for security, auth gaps, data leaks |
code-simplicity-reviewer |
Reviews for over-engineering and unnecessary complexity |
defensive-error-handler |
Audits error handling and adds defensive patterns |
git-pr-workflow-manager |
Manages branches, commits, and PR organization |
pr-workflow-checker |
Checks PR status and handles PR lifecycle |
issue-pr-coordinator |
Scans issues, groups related ones, manages PR workflows |
test-coverage-engineer |
Analyzes and improves test coverage |
test-coverage-improver |
Adds doctests and test files systematically |
readme-maintainer |
Keeps README in sync with code changes |
wiki-documentation-architect |
Creates/maintains GitHub Wiki documentation |
Hook Configuration
The jacked install command adds this to ~/.claude/settings.json:
{
"hooks": {
"Stop": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "jacked index --repo \"$CLAUDE_PROJECT_DIR\""
}]
}]
}
}
Guided Install Prompt (for Claude)
Copy this into Claude Code for a guided installation:
Install claude-jacked for me. First check what's already set up, then help me with anything missing:
DIAGNOSTIC PHASE (run these first to see current state):
- Detect my operating system
- Check if pipx is installed: pipx --version
- Check if jacked CLI is installed: jacked --version
- Check if Qdrant credentials are set: echo $QDRANT_CLAUDE_SESSIONS_ENDPOINT
- Check if hook is installed: look in ~/.claude/settings.json for "jacked index"
WINDOWS EXTRA CHECK (Git Bash doesn't inherit Windows System Environment):
- If env vars NOT visible in bash, check Windows:
powershell.exe -Command "[System.Environment]::GetEnvironmentVariable('QDRANT_CLAUDE_SESSIONS_ENDPOINT', 'User')"
SETUP PHASE (only do steps that are missing):
1. If no pipx: pip install pipx && pipx ensurepath
2. If jacked not installed: pipx install claude-jacked && jacked install
3. If no Qdrant credentials: walk me through cloud.qdrant.io setup
4. If no indexed sessions: jacked backfill
VERIFY: jacked status && jacked configure --show
Windows Troubleshooting
Claude Code uses Git Bash on Windows, which can cause path issues.
Where jacked is installed:
C:\Users\<username>\pipx\venvs\claude-jacked\Scripts\jacked.exe
If "jacked" isn't found:
# Find it
where jacked
# Or add to PATH
pipx ensurepath
If paths are getting mangled: Use forward slashes in Git Bash:
/c/Users/jack/pipx/venvs/claude-jacked/Scripts/jacked.exe status
License
MIT
Credits
Built for Claude Code by Anthropic. Uses Qdrant for search.
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 claude_jacked-0.2.9.tar.gz.
File metadata
- Download URL: claude_jacked-0.2.9.tar.gz
- Upload date:
- Size: 111.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10f6d8e25b4325fc63828c3ef1e0c48012ed528a1565055a777f17955d956cbd
|
|
| MD5 |
1ae7f3de113f122ad51d09081c617ba2
|
|
| BLAKE2b-256 |
31bb479c8e5ca1132f6bb3f82c3d09ba565bf756555ae5d77b23af327c267ad4
|
Provenance
The following attestation bundles were made for claude_jacked-0.2.9.tar.gz:
Publisher:
publish.yml on jackneil/claude-jacked
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_jacked-0.2.9.tar.gz -
Subject digest:
10f6d8e25b4325fc63828c3ef1e0c48012ed528a1565055a777f17955d956cbd - Sigstore transparency entry: 896655398
- Sigstore integration time:
-
Permalink:
jackneil/claude-jacked@66814f71cf90e2ea1663a9f1d7866a62691e466e -
Branch / Tag:
refs/tags/v0.2.9 - Owner: https://github.com/jackneil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@66814f71cf90e2ea1663a9f1d7866a62691e466e -
Trigger Event:
release
-
Statement type:
File details
Details for the file claude_jacked-0.2.9-py3-none-any.whl.
File metadata
- Download URL: claude_jacked-0.2.9-py3-none-any.whl
- Upload date:
- Size: 101.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4120874b0d5132bf869d0ed5c965a99889151cbe3d5f7e87488f98602b76a908
|
|
| MD5 |
a6f9eaae98676e4f7cf13714abf9d3c6
|
|
| BLAKE2b-256 |
9926df6ab2fe69831de706dac0f9cfd95355c5dafb60effd3e99b824aa0b7ea1
|
Provenance
The following attestation bundles were made for claude_jacked-0.2.9-py3-none-any.whl:
Publisher:
publish.yml on jackneil/claude-jacked
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_jacked-0.2.9-py3-none-any.whl -
Subject digest:
4120874b0d5132bf869d0ed5c965a99889151cbe3d5f7e87488f98602b76a908 - Sigstore transparency entry: 896655413
- Sigstore integration time:
-
Permalink:
jackneil/claude-jacked@66814f71cf90e2ea1663a9f1d7866a62691e466e -
Branch / Tag:
refs/tags/v0.2.9 - Owner: https://github.com/jackneil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@66814f71cf90e2ea1663a9f1d7866a62691e466e -
Trigger Event:
release
-
Statement type: