← BackJan 6, 2026

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