Repository navigation
Releases: PoisonedYouth/ClaudeCodeHistory
Release list
v1.3.0 - Model Filtering & Display
What's New
Model Filtering & Information Display
Filter and analyze your conversations by Claude model version with comprehensive model information display throughout the application.
Key Features
-
π Model Filtering
- New model filter dropdown in search filters panel
- Filter conversations by specific Claude models
- Friendly display names (e.g., "Sonnet 4.5", "Opus", "Haiku")
- Works across all search modes (keyword, semantic, hybrid)
-
π Model Statistics
- "Conversations by Model" card in Statistics dashboard
- See conversation count breakdown by model
- Models sorted by usage (most used first)
- Easy identification of your most-used Claude models
-
π·οΈ Model Display
- Model badges already visible in search result cards
- Consistent model naming across the application
- Quick identification of which model was used for each conversation
-
β‘ Search Integration
- Model filtering integrated with FTS5 keyword search
- Works with vector similarity (semantic) search
- Compatible with hybrid search (RRF)
- Consistent filtering across all search methods
Model Display Names
claude-sonnet-4-5β "Sonnet 4.5"claude-sonnet-4β "Sonnet 4"claude-sonnet-3-5β "Sonnet 3.5"claude-opusβ "Opus"claude-haikuβ "Haiku"
Technical Details
Repository Enhancements:
- New
getAllModels()method to retrieve unique models from conversations - Model filtering in
search(),getByFilters(), andvectorSearch() - Enhanced
ConversationStatisticswithconversationsByModelmap - Metadata parsing to extract model information
UI Components:
- Model filter dropdown in FiltersPanel (second row of filters)
- Model statistics card in StatisticsScreen
- Auto-loading of available models on screen initialization
- Responsive filter UI with proper spacing
Search Functionality:
- SQL LIKE queries for efficient model filtering
- Metadata JSON field querying
- Filter combination with other search criteria
- Maintains search performance with complex filters
Installation
Download the appropriate installer for your platform from the assets below.
Upgrading from v1.2.0
Simply install the new version. All existing data and configurations will work seamlessly. The model filter will automatically populate with models found in your conversation history.
Full Changelog: v1.2.0...v1.3.0
v1.2.0 - Token Tracking & Analytics
What's New
Token Tracking & Cost Estimation
Track your Claude API usage and costs directly in ClaudeCodeHistory!
Key Features
-
π Token Analytics Dashboard
- Total token usage across all conversations
- Breakdown by type: Input, Output, Cache Writes, Cache Reads
- Real-time cost estimation based on Claude 3.5 Sonnet pricing
- Formatted numbers with thousands separators for easy reading
-
π° Cost Estimation
- Automatic cost calculation per conversation
- Total cost aggregation in Statistics screen
- Based on current Claude API pricing:
- Input: $3/M tokens
- Output: $15/M tokens
- Cache Writes: $3.75/M tokens
- Cache Reads: $0.30/M tokens
-
π Enhanced Search Results
- Token count and cost displayed on each conversation card
- Model name badges (e.g., "Sonnet 4.5", "Opus", "Haiku")
- Quick visibility into conversation resource usage
-
π Metadata Extraction
- Automatically parses token usage from conversation files
- Extracts model information
- Tracks all token types including cache metrics
Improvements
-
Better Embedding Error Handling
- Skips empty or very short conversations (< 10 chars)
- Improved error messages with content previews
- Early validation to prevent unnecessary API calls
- Better debugging with detailed logging
-
MIT License
- Project is now officially licensed under MIT
- Open source and free to use, modify, and distribute
Bug Fixes
- Fixed OllamaClient crash when embeddings list is empty
- Added content validation before embedding generation
- Improved error messages for troubleshooting Ollama issues
Technical Details
Token Tracking Implementation:
- New
TokenUsagedata class with automatic cost calculation - Enhanced
ConversationMetadatato include usage information - Updated parser to extract token data from conversation JSON
- Extended
ConversationStatisticswith token aggregation
UI Components:
- New "Token Usage & Cost Estimation" card in Statistics screen
- Enhanced
SearchResultCardwith token and model chips - Formatted display of large numbers
- Conditional rendering based on data availability
Pricing Model:
Based on Claude 3.5 Sonnet (January 2025):
- Input: $3 per million tokens
- Output: $15 per million tokens
- Cache Writes: $3.75 per million tokens
- Cache Reads: $0.30 per million tokens
Installation
Download the appropriate installer for your platform from the assets below.
Upgrading from v1.1.0
Simply install the new version. Your existing database and conversations will work seamlessly. Re-index conversations to populate token data for historical conversations.
Full Changelog: v1.1.0...v1.2.0
v1.1.0 - Semantic Search
What's New
Semantic Search with Ollama
This release adds powerful semantic search capabilities to ClaudeCodeHistory, enabling you to search conversations by meaning and concept, not just keywords.
Key Features
-
π Vector Embeddings
- Generate embeddings for conversations using Ollama (nomic-embed-text model)
- 768-dimensional embeddings for accurate semantic matching
- Automatic normalization and storage in SQLite
-
β‘ Three Search Modes
- KEYWORD: Traditional FTS5 full-text search (fast, exact matching)
- SEMANTIC: Vector similarity search (finds similar concepts)
- HYBRID: Combines both using Reciprocal Rank Fusion (default, best results)
-
π― Find Similar Conversations
- Discover related conversations based on semantic similarity
- Cosine similarity for vector comparison
- Automatic fallback to keyword search if Ollama is unavailable
-
βοΈ Embedding Management UI
- New Settings screen section for Ollama integration
- Real-time Ollama status indicator
- Batch embedding generation with progress tracking
- "Generate Missing Embeddings" button
Search Algorithm
Reciprocal Rank Fusion (RRF):
- Combines FTS5 keyword search and vector similarity search
- Formula:
Score(doc) = 1/(k + rank_keyword) + 1/(k + rank_vector) - Constant k=60 for optimal result combination
- Provides both precision of keyword matching and flexibility of semantic understanding
Technical Details
New Components:
VectorUtils.kt- Vector operations (normalization, cosine similarity, byte conversion)SearchMode.kt- Enum for search modes (KEYWORD, SEMANTIC, HYBRID)OllamaClient.kt- HTTP client for Ollama API integrationEmbeddingService.kt- Embedding generation and management
Updated Components:
ConversationRepository.kt- AddedvectorSearch()andhybridSearch()methodsSearchService.kt- Updated withmodeparameter andfindSimilar()methodMainScreen.kt- Wired up OllamaClient and EmbeddingService
Database Schema:
- New
embeddingstable with conversation_id, embedding (BLOB), and model fields - Each embedding: ~3KB (768 floats)
- Indexed for fast joins with conversations table
Performance:
- Keyword search: ~1-5ms (FTS5 only)
- Semantic search: ~50-200ms (depending on conversation count)
- Hybrid search: ~100-300ms (combined)
- Embedding generation: ~20ms per conversation
Documentation
See SEMANTIC_SEARCH.md for:
- Installation instructions for Ollama
- How it works (embeddings, similarity, RRF)
- API reference for all new components
- Performance benchmarks
- Troubleshooting guide
- Future UI enhancements
Getting Started
-
Install Ollama:
curl -fsSL https://ollama.com/install.sh | sh -
Pull the embedding model:
ollama pull nomic-embed-text
-
Launch the application and go to Settings
-
Click "Generate Missing Embeddings" to create embeddings for your conversations
-
Start searching with semantic understanding!
Installation
Download the appropriate installer for your platform from the assets below.
Upgrading from v1.0.0
Simply install the new version. Your existing database and conversations will work seamlessly. Visit the Settings screen to generate embeddings for historical conversations.
Other Additions
- TODO.md with 80+ future feature ideas organized by category
- Highlighted semantic search as a quick win feature
Full Changelog: v1.0.0...v1.1.0
v1.0.0 - Initial Release
Initial Release
First public release of Claude Code History - a desktop application for searching and browsing your Claude Code conversation history.
Features
-
π Full-text Search
- Search through all your Claude Code conversations
- FTS5-powered full-text search for fast, accurate results
- Advanced filtering by project, date range, role, language, and file paths
- Snippet previews showing matching context
-
β‘ Auto-Indexing
- Automatically indexes existing conversations on first launch
- Real-time file watching for new conversations
- Incremental updates without full re-indexing
- Efficient SQLite storage with Exposed ORM
-
π Rich Metadata
- Captures tool usage (Read, Write, Edit, Bash, etc.)
- Extracts file paths from conversations
- Detects programming languages automatically
- Tracks conversation timestamps and sessions
-
π₯οΈ Multi-Platform Support
- Native installers for macOS (.dmg)
- Windows support (.msi)
- Linux support (.deb)
- Compose Desktop with Material 3 design
-
π¨ Modern UI
- Clean, responsive interface
- Material 3 design system
- Syntax highlighting for code snippets
- Dark/light theme support (system default)
-
π Statistics Dashboard
- Total conversation count
- Conversations breakdown by role (user/assistant)
- Date range of conversation history
- Quick overview of your Claude Code usage
Technical Details
Tech Stack:
- Kotlin 2.2.20 with Compose Desktop 1.9.3
- SQLite with Exposed ORM for data persistence
- FTS5 for full-text search
- kotlinx.serialization for JSON parsing
- kotlinx.datetime for cross-platform date handling
- Material 3 UI components
Database Schema:
conversationstable with FTS5 virtual table for search- Efficient indexing on project_path, timestamp, role
- JSON storage for flexible metadata
- Foreign key constraints for data integrity
Conversation Indexing:
- Parses Claude Code conversation JSON files
- Extracts messages, metadata, and tool usage
- Watches
~/.claude/projects/**/*.jsonfor changes - Incremental indexing for performance
Installation
Download the appropriate installer for your platform from the assets below:
- macOS: ClaudeCodeHistory-1.0.0.dmg
- Windows: ClaudeCodeHistory-1.0.0.msi
- Linux: claudecodehistory_1.0.0-1_amd64.deb
Getting Started
- Install the application using the installer for your platform
- Launch ClaudeCodeHistory
- Wait for initial indexing (automatically finds existing conversations)
- Start searching your conversation history!
Requirements
- Java 17 or higher (bundled with native installers)
- Claude Code CLI installed and used previously (to have conversations to index)
Configuration
The application automatically detects your Claude Code projects directory:
- macOS/Linux:
~/.claude/projects/ - Windows:
%USERPROFILE%\.claude\projects\
No manual configuration required!
Note: This is a community project and is not officially affiliated with Anthropic.