Browse agent sessions without drowning in JSONL
Mira is a macOS app for browsing and searching session transcripts from AI coding agents. Open a Claude Code or Codex CLI JSONL file — format is auto-detected, no manual switching.
macOS · Tauri v2 · supports Claude Code & Codex CLI
What Mira gives you
Built for reading long agent transcripts the way you actually work — search, filter roles, jump turns, export what you need.
Auto format detection
Opens Claude Code and Codex CLI session files. Identifies the format automatically and renders accordingly.
Search & role filters
Full-text search across fields with highlights. Toggle User, Assistant, tool calls/results, attachments, metadata, thinking.
Turn navigation
Auto-detected conversation turns with a collapsible sidebar outline so you can jump without endless scrolling.
Token usage stats
Claude Code: deduplicated by requestId. Codex CLI: summed from token_count reports.
Markdown & tools
Headings, tables, code, images. Tool cards with expandable JSON. Codex patches show files and unified diffs.
Export
Export the visible subset as Markdown, PDF, or JSON via a native save dialog. PDF embeds a CJK-capable font.
Build from source
Native Tauri v2 app with native file dialogs, persistent file memory, and window state restoration.
Install & build
From the repo root:
cd tauri-app
npm install
npx tauri buildRelease (optional)
Bump patch version and build in one step:
cd tauri-app
npm run releaseOpen a session
Click Select JSONL. Pick a file under ~/.claude/projects/ or ~/.codex/sessions/ (use Cmd+Shift+. for hidden dirs).
Sharing: send the .dmg. On first launch, right-click the app → Open to bypass Gatekeeper. Ad-hoc signed — no Apple Developer Program required.
Session sources
Two JSONL dialects, one viewer.
Claude Code
Files under ~/.claude/projects/<project>/<uuid>.jsonl.
- Top-level
message+uuid - Types: user, assistant, system, attachment, ai-title, metadata…
Codex CLI
Rollouts under ~/.codex/sessions/YYYY/MM/DD/rollout-…jsonl.
- Top-level
payload - session_meta, response_item, event_msg, token_count, patch_apply_end…