Poirot
A native macOS companion for Claude Code that lets you browse sessions, explore diffs, and re-run commands.
Install / Use
/learn @leonardocardoso/PoirotQuality Score
Category
Development & EngineeringSupported Platforms
README
<p align="center"> <a href="https://youtu.be/JLvNSRZrxdo"> <img src="https://img.youtube.com/vi/JLvNSRZrxdo/maxresdefault.jpg" alt="Poirot Demo Video" width="720" /> </a> <br/> <sub>Click to watch the demo on YouTube</sub> </p>
The Story
Poirot was vibe-coded in a weekend. The entire app — architecture, parser, UI, tests — was built in a single creative burst with Claude Code as the co-pilot. What started as "I wonder if I can build a companion app for Claude Code... using Claude Code" turned into a real, usable tool.
Named after Hercule Poirot, Agatha Christie's legendary detective. Because every great investigation needs the right tools — and Poirot helps you investigate exactly what your AI assistant has been up to.
Features
<p align="center"> <img src="assets/showcase/02-analytics.png" alt="Session Analytics" width="720" /> </p> <p align="center"> <img src="assets/showcase/04-conversation.png" alt="Rich Conversation View" width="720" /> </p>- Session Analytics — Token consumption, cost breakdowns, model distribution, and session trends
- Session History Browser — Sessions grouped by project with timestamps, model info, and token counts
- Rich Conversation View — Full timeline with markdown rendering, syntax highlighting, and collapsible tool blocks
- Tool Block Display — Every tool invocation rendered with name, icon, file path, and result
- Extended Thinking — Collapsible thinking blocks with distinct purple accent
- Fuzzy Search (⌘K) — Spotlight-style search across sessions, commands, file paths, and more
- Slash Commands — Browse global and per-project commands with descriptions and permissions
- Skills — Explore reusable skill modules with parsed frontmatter
- MCP Servers — Live connection status indicators with color-coded SF Symbols
- Models — Browse available models and their capabilities
- Sub-agents — Create, edit, and manage custom sub-agents with tools, model, memory, and system prompt
- Plugins — View installed plugins and their metadata
- Output Styles — Preview output formatting styles
- Hooks — Event hooks grouped by type with matcher patterns and handler details
- Session TODOs — Per-session todo lists with status tracking
- Plans — Browse
~/.claude/plans/with rendered markdown and file watching - Debug Log Viewer — Color-coded log levels, search, filtering, and paginated loading
- Prompt History — Browse input history with date grouping and project filtering
- AI Session Summaries — Goal, outcome, helpfulness, and friction indicators from facets
- Memory — Per-project auto-memory files with rendered markdown and live watching
See all features with screenshots in the Feature Showcase.
Capabilities
| Category | Feature | Description |
|----------|---------|-------------|
| Analytics | Session Analytics Dashboard | Token consumption, cost breakdowns, model distribution, and session trends |
| Sessions | JSONL Transcript Parser | Parses ~/.claude/projects/ transcripts into structured models |
| | Session History Browser | Sessions grouped by project with timestamps, model, token counts |
| | Real-time File Watching | Auto-updates via GCD dispatch sources with 1s debounce |
| | Per-Project Configuration | Supports global (~/.claude/) and per-project (.claude/) scopes |
| | Session Detail View | Full conversation timeline with collapsible blocks and scroll-to-bottom |
| Conversation | Markdown Rendering | Rich text with syntax highlighting via MarkdownUI + HighlightSwift |
| | Code Diff Viewer | Syntax-highlighted inline diffs for Edit tool blocks |
| | Bash Output Renderer | Terminal command output with monospace styling and exit status |
| | Extended Thinking | Collapsible thinking blocks with distinct purple accent |
| | Tool Blocks | Every tool invocation rendered with name, icon, file path, and result |
| | In-Session Search | ⌘F to search within the current conversation |
| Diagnostics | Debug Log Viewer | Parse and browse ~/.claude/debug/ logs with color-coded levels, search, filtering, and paginated lazy loading |
| | Auto-scroll to Error | Opens directly at the first error entry for quick triage |
| | Relative Timestamps | Toggle between absolute (HH:mm:ss.SSS) and relative (+offset) time display |
| History | Prompt History Browser | Browse ~/.claude/history.jsonl with date grouping, project filtering, full-text search, and copy-to-clipboard |
| AI Summaries | Session Facets | AI-generated analysis (goal, outcome, helpfulness) from ~/.claude/usage-data/facets/ |
| | Outcome & Helpfulness Badges | Color-coded badges for success/partial/failure and helpfulness rating |
| | Goal Categories | Tag chips showing categorized session goals with counts |
| | Friction Indicators | Subtle indicators for tool failures, misunderstandings, and other friction |
| | Live File Watching | Auto-updates when new facets appear via GCD dispatch sources |
| Search | Universal Search (⌘K) | Fuzzy search across sessions, AI summaries, history, commands, skills, memory, MCP servers, plugins, output styles, models, sub-agents, plans, TODOs, and debug logs |
| | Grouped Results | Results organized by category with counts |
| | Quick Access | Empty state shows shortcuts, counts, and recent sessions |
| Configuration | Commands | Browse and manage slash commands (global and per-project) |
| | Skills | Browse and manage reusable skill modules |
| | MCP Servers | Browse configured Model Context Protocol servers with live connection status |
| | Models | Browse available models and capabilities |
| | Sub-agents | Create, edit, duplicate, and delete custom sub-agents with categorized tool selection and memory configuration |
| | Plugins | Browse installed plugins |
| | Output Styles | Browse and manage output style configurations |
| | Hooks | View and manage event hooks grouped by type with matcher patterns and handler details |
| | TODOs | Browse per-session todo lists with status tracking and session navigation |
| | Plans | Browse ~/.claude/plans/ markdown files with rendered/raw toggle, copy, delete, and file watching |
| | Memory | Browse per-project auto-memory files with rendered markdown, project filtering, and file watching |
| | Grid & List Views | Toggle between card grid and compact list layouts |
| | Scope Badges | Visual distinction between Global and Project-scoped items |
| Integrations | IDE/Editor | One-click open files in VS Code, Cursor, Xcode, or Zed |
| | Terminal Selection | Pick your terminal: Terminal, iTerm2, Warp, Ghostty, Kitty, Alacritty |
| | Quick Command Re-run | Click any Bash command to copy or open in your terminal |
| Export | Session Export | Export sessions as Markdown or PDF with configurable options |
| | Copy Markdown | One-click copy of session content as Markdown to clipboard |
| | Share Sheet | Native macOS share sheet integration for exported files |
| Sub-agents | Custom Agent Creation | Full form with name, description, system prompt, model, color, categorized tools, and persistent memory |
| | Auto File Naming | File path auto-derived from agent name (lowercase, dashes); file renamed on edit |
| | Tool Categories | Select tools by category (Read-only, Edit, Execution, Other) or individually |
| | Agent Memory | Configure persistent memory per agent (global or none) |
| | Import/Export | Share agents as JSON files between users |
| | Duplicate | Clone built-in or custom agents as starting points |
| Navigation | Font Scaling | ⌘+ / ⌘- / ⌘0 to zoom the entire UI |
| | Keyboard Shortcuts | Full keyboard navigation with discoverable shortcut hints |
| | Help Book (⌘?) | Keyboard reference, feature overview, and getting started guide |
| App | Onboarding Flow | First-run welcome with CLI detection, session discovery, and feature tour |
| | Homebrew Distribution | brew install --cask poirot with automated release workflow |
| Design | Dark Theme | Warm golden accent (#E8A642) on near-black backgrounds |
| | SF Symbols | All icons are SF Symbols with bounce, pulse, and replace animations |
| | Design Tokens | Centralized PoirotTheme for colors, spacing, radii, and typography |
| Architecture | Swift 6 | Strict concurrency with @MainActor default isolation |
| | Observation | @Observable with @State — no ObservableObject |
| | Protocol-Driven DI | Services injected via SwiftUI EnvironmentValues |
| | Provider System | Extensibl
