Show HN: ccrider - Search and Resume Your Claude Code Sessions – TUI / MCP / CLI
ccrider Search, browse, and resume your Claude Code sessions. Fast. Why ccrider? You've got months of Claude Code sessions sitting in ~/.claude/projects/. Finding that conversation where you fixed the...
ccrider
Search, browse, and resume your Claude Code sessions. Fast.
Why ccrider?
You've got months of Claude Code sessions sitting in ~/.claude/projects/. Finding that conversation where you fixed the authentication bug? Good luck grepping through nested JSON files.
ccrider solves this with a TUI browser, CLI search, and an MCP server so Claude can search your past sessions too.
# Import your sessions once
ccrider sync
# Launch the TUI - browse, search, resume
ccrider tui
# Or search from command line
ccrider search "authentication bug"
Stay in your terminal. Find any conversation. Resume where you left off.
Installation:
# Homebrew (recommended)
brew install neilberkman/tap/ccrider
# Or from source
git clone https://github.com/neilberkman/ccrider.git
cd ccrider
go build -o ccrider cmd/ccrider/main.go
sudo mv ccrider /usr/local/bin/
# Install MCP server for all your projects (optional)
claude mcp add --scope user ccrider $(which ccrider) serve-mcp
"Vibe code like a king The King!"
ccrider.mp4
Core Features
1. Interactive TUI Browser
ccrider tui
Browse your sessions with a polished terminal UI:
Arrow keys to navigate
Enter to view full conversation
o to open session in new terminal tab (auto-detects Ghostty, iTerm, Terminal.app)
/ to search across all messages
p to toggle project filter (show only current directory)
? for help
Sessions matching your current directory are highlighted in light green - instantly see which sessions are relevant to your current work.
2. Full-Text Search
ccrider search "postgres migration"
ccrider search "error handling" --project ~/code/myapp
ccrider search "authentication" --after 2024-01-01
Powered by SQLite FTS5 - search message content, filter by project or date, get results instantly.
3. Resume Sessions
Press r in the TUI or use the CLI:
ccrider resume
Launches claude --resume in the right directory with the right session. Just works.
4. Incremental Sync
ccrider sync # Import all new sessions
ccrider sync --full # Re-import everything
Detects ongoing sessions and imports new messages without re-processing everything.
MCP Server
ccrider includes a built-in MCP (Model Context Protocol) server that gives Claude access to your session history.
Ask Claude to search your past conversations while working on new problems:
"Find sessions where I worked on authentication"
"Show me my most recent Elixir sessions"
"What was I working on last week in the billing project?"
"Search my sessions for postgres migration issues"
Setup
Claude Code:
# Install for all your projects (recommended)
claude mcp add --scope user ccrider $(which ccrider) serve-mcp
# Or for current project only
claude mcp add ccrider $(which ccrider) serve-mcp
Claude Desktop:
Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ccrider": {
"command": "ccrider",
"args": ["serve-mcp"]
}
}
}
Available Tools
search_sessions - Full-text search across all session content with date/project filters
list_recent_sessions - Get recent sessions, optionally filtered by project
get_session_detail - Retrieve session info with first/last messages and optional search
get_session_messages - Get messages from a session (supports tail mode, context around search matches)
The MCP server provides read-only access to your session database. Your conversations stay local.
Configuration
ccrider looks for config in ~/.config/ccrider/:
# config.toml - pass additional flags to claude --resume
claude_flags = ["--dangerously-skip-permissions"]
# terminal_command.txt - custom command for 'o' key
# Available placeholders: {cwd}, {command}
wezterm cli spawn --cwd {cwd} -- {command}
# resume_prompt.txt - customize the prompt sent when resuming sessions
See CONFIGURATION.md for full details.
Architecture
Built with strict core/interface separation following Saša Jurić's principles:
Core (pkg/, internal/core/): Pure business logic - parsing, database, search
Interface (internal/interface/, cmd/): Thin wrappers - CLI, TUI, MCP server
Uses proven technologies:
Go for performance and single-binary distribution
SQLite with FTS5 for fast full-text search
Bubbletea for polished terminal UI
MCP for Claude integration
Why This Matters
Other Claude Code session tools are broken:
Incomplete schema support (can't parse all message types)
Broken builds and abandoned dependencies
No real search (just grep)
Can't actually resume sessions
ccrider fixes this with:
✅ 100% schema coverage - parses all message types correctly
✅ SQLite FTS5 search - fast, powerful full-text search
✅ Single binary - no npm, no pip, no dependencies
✅ Native resume - one keystroke to resume sessions
✅ Incremental sync - detects new messages in ongoing sessions
Development
See CONTRIBUTING.md for development setup and guidelines.
Project Structure
cmd/ccrider/ # CLI entry point + MCP server
internal/
core/ # Business logic (no UI concerns)
db/ # Database operations
importer/ # Session import/sync
search/ # Full-text search
session/ # Session launch logic
interface/ # Thin UI wrappers
cli/ # Command handlers
tui/ # Terminal UI (bubbletea)
pkg/ccsessions/ # Session file parser (public API)
Quick Build
go build -o ccrider cmd/ccrider/main.go
./ccrider sync
./ccrider tui
Documentation
Configuration Guide
Resume Prompts
Design Document
Schema Documentation
Requirements
License
MIT