A native desktop application for analyzing Claude Code sessions with deep insights, metrics, and recommendations.
- Sub-second cold start: Dashboard loads instantly via SQL aggregate queries -- no JSONL parsing on startup
- Non-blocking startup: Session scan runs in a background thread; the window appears immediately
- Parallel preload: 8-permit semaphore for concurrent session cache population
- Two-phase preload: Phase 1 loads the 500 most recent sessions for an instant dashboard; Phase 2 backfills all remaining sessions in the background
- Session Overview: View all your Claude Code sessions at a glance
- Key Metrics: Track token usage, costs, conversation patterns, and tool interactions
- Time-based Analysis: Filter sessions by date range (7d/30d/90d/All) and see trends over time
- Efficiency Gauge: Global Cache Efficiency Ratio (CER) weighted by actual cache usage, with educational description
- User vs Subagent Sessions: Separate tracking and charting for user-initiated and subagent sessions
- Dual-axis Trends: Sessions Per Day chart with user session bars (left axis) and subagent session line (right axis)
- Consistent Numbers: Dashboard and Timeline summary cards use the same backend aggregates
- Sticky Headers: All pages feature a sticky header for easy navigation
- Conversation Timeline: Visualize the flow of your coding sessions
- Tool Usage Breakdown: See which tools Claude used most frequently
- Token Analytics: Understand input/output token distribution
- Cost Tracking: Monitor API usage costs per session
- Behavior Patterns: Identify common interaction patterns
- Performance Metrics: Track response times and session efficiency
- Recommendation Engine: Get actionable suggestions to improve your workflow
- Automated CI pipeline: Lint, typecheck, Rust tests, and frontend build jobs on every push
- Release workflow: Automated cross-platform builds with test gates
- Export session data to CSV for further analysis
- Generate reports for team sharing
Download the latest release for your platform:
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | Ironhide_*.dmg (arm64) |
| macOS (Intel) | Ironhide_*.dmg (x64) |
| Windows | Ironhide_*-setup.exe |
| Linux (AppImage) | Ironhide_*.AppImage |
| Linux (Debian) | Ironhide_*.deb |
| Linux (Fedora) | Ironhide_*.rpm |
macOS Users: After installing, macOS Gatekeeper may block the app since it's not code-signed. To fix:
- Easiest: Right-click the app → Open → click Open in the dialog
- Or via terminal:
xattr -cr /Applications/Ironhide.appYou only need to do this once.
- Bun (v1.0 or later)
- Rust (stable)
- Platform-specific dependencies:
- macOS: Xcode Command Line Tools
- Windows: Visual Studio Build Tools, WebView2
- Linux:
libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
# Clone the repository
git clone https://github.com/barkain/ironhide.git
cd ironhide
# Install dependencies
bun install
# Run in development mode
bun run tauri:dev
# Build for production
bun run tauri:buildThe built application will be in src-tauri/target/release/bundle/.
- Launch the app - The dashboard will automatically detect your Claude Code sessions
- Select a session - Click on any session to view detailed analytics
- Explore insights - Navigate through different views using the sidebar
- Export data - Use the export feature to save data for external analysis
The app automatically reads Claude Code session data from:
- macOS:
~/.claude/projects/ - Linux:
~/.claude/projects/ - Windows:
%USERPROFILE%\.claude\projects\
Screenshots coming soon
ironhide/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── pages/ # Page components
│ ├── hooks/ # Custom React hooks
│ ├── stores/ # Zustand state stores
│ └── lib/ # Utility functions
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands/ # Tauri commands
│ │ ├── analysis/ # Analytics engine
│ │ └── lib.rs # Main library
│ └── tauri.conf.json # Tauri configuration
├── docs/ # Documentation
└── package.json
- Frontend: React 19, TypeScript, Tailwind CSS, Recharts
- Backend: Rust, Tauri 2
- State Management: Zustand, TanStack Query
- Build: Vite, Bun
# Development
bun run dev # Start Vite dev server
bun run tauri:dev # Start Tauri in dev mode
# Building
bun run build # Build frontend only
bun run tauri:build # Build complete app
bun run tauri:build:debug # Build with debug symbols
# Testing & Quality
bun run typecheck # TypeScript type checking
bun run test:e2e # Run Playwright E2E tests
bun run test:rust # Run Rust backend tests
# Other
bun run preview # Preview built frontend- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
The app includes auto-update functionality. When a new version is available, you'll be prompted to update.
To enable auto-updates for your own builds:
-
Generate a key pair:
bun tauri signer generate -w ~/.tauri/ironhide.key -
Set the public key in
tauri.conf.jsonunderplugins.updater.pubkey -
Add secrets to your GitHub repository:
TAURI_SIGNING_PRIVATE_KEY: Contents of the private key fileTAURI_SIGNING_PRIVATE_KEY_PASSWORD: Password for the private key
MIT License - see LICENSE for details.
