claude-code-trace

skill
Security Audit
Fail
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 58 GitHub stars
Code Fail
  • execSync — Synchronous shell command execution in bin/cctrace.mjs
  • process.env — Environment variable access in bin/cctrace.mjs
  • execSync — Synchronous shell command execution in bin/install-service.mjs
  • process.env — Environment variable access in bin/install-service.mjs
  • network request — Outbound network request in bin/wait-for-backend.mjs
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This application is a native desktop, web, and terminal viewer for Claude Code JSONL session logs. It automatically discovers and displays conversational histories from your local `~/.claude/` directory, rendering token counts, tool calls, and live tailing capabilities.

Security Assessment
Overall risk: Medium. The application requires access to your `~/.claude/` directory, which contains highly sensitive conversational data and potentially proprietary code. The audit flagged multiple failed checks for synchronous shell command execution (`execSync`) within its JavaScript helper scripts. Additionally, environment variables are accessed, and outbound network requests are made by the backend wrappers. While there are no hardcoded secrets or explicitly dangerous permissions requested, the macOS instructions explicitly advise removing the quarantine attribute (`xattr -cr`), which bypasses standard Gatekeeper security checks. Running unsigned pre-built binaries alongside local shell execution elevates the risk.

Quality Assessment
Overall quality is good. The project is actively maintained with a push made as recently as today and has garnered 58 GitHub stars, indicating early positive community trust. It is properly licensed under the standard MIT open-source license, and the repository includes clear descriptions, instructions, and multi-platform support. The underlying technology stack (Rust via Tauri v2, React, and TypeScript) is modern and highly robust.

Verdict
Use with caution — The utility is well-built and maintained, but given the high sensitivity of the Claude session data it reads, the use of synchronous shell execution in its scripts, and the requirement to bypass OS security for unsigned pre-built binaries, developers should strongly consider building it directly from source.
SUMMARY

Real-time Claude Code session log viewer and monitor. Tail, search, and visualize JSONL session files with a native desktop GUI, a web and a tui. Built with Tauri 2, React, and TypeScript.

README.md

claude-code-trace

Claude Code Trace

A desktop + web viewer for Claude Code session JSONL files. Built with Tauri v2 (Rust backend + React frontend).

Reads session logs from ~/.claude/ and renders them as a scrollable conversation with expandable tool calls, token counts, and live tailing. Works as a native desktop app (macOS, Linux, Windows) or as a web app in any browser.

Demo

Install

Build from source (any platform with Rust + Node.js)

git clone [email protected]:delexw/claude-code-trace.git
cd claude-code-trace
./script/install.sh       # builds everything + installs to PATH

cctrace              # desktop app (default)
cctrace --web        # web mode (opens browser)
cctrace --tui        # terminal UI

Download pre-built

Grab the latest release from Releases:

Platform File
macOS .dmg
Linux .deb, .rpm, .AppImage
Windows .msi, .exe (NSIS installer)

[!IMPORTANT]
macOS: The app is unsigned. After installing, remove the quarantine attribute:

xattr -cr /Applications/Claude\ Code\ Trace.app

Run from source (no install)

git clone [email protected]:delexw/claude-code-trace.git
cd claude-code-trace
npm install

npm run tauri dev        # desktop app with hot reload
npm run dev:web          # web mode (opens browser)
npm run dev:tui          # TUI (starts backend + terminal UI)

Requirements

  • Rust 1.77+
  • Node.js 18+
  • macOS: Xcode Command Line Tools (xcode-select --install)
  • Linux: libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libxdo-dev libssl-dev
  • Windows: WebView2 (pre-installed on Windows 10/11)

Usage

cctrace              # desktop app (default)
cctrace --web        # web mode (opens browser at http://localhost:1420)
cctrace --tui        # terminal UI (starts backend + TUI together)

Launch to open the session picker. It auto-discovers all sessions from ~/.claude/projects/.

In desktop mode, click Open in Browser in the toolbar to switch to browser mode — this opens http://localhost:1420 in your default browser and hides the desktop window.

If you installed the pre-built .dmg/.deb/.msi, you can also launch the desktop app directly and pass --web to the binary:

# macOS
/Applications/Claude\ Code\ Trace.app/Contents/MacOS/Claude\ Code\ Trace --web

Select a session to view the conversation. Click messages to expand tool calls, or open the detail view for full inspection.

MCP (Model Context Protocol) tool calls are automatically detected and displayed with human-friendly names. For example, mcp__chrome-devtools__take_screenshot renders as MCP chrome-devtools with the summary "take screenshot". Supported MCP servers include chrome-devtools, figma, atlassian, buildkite, cloudflare, and any other server following the mcp__<server>__<tool> naming convention.

Keybindings

? toggles keybind hints in any view.

List view

Key Action
j / k Move cursor down / up
G / g Jump to last / first message
Tab Toggle expand/collapse current message
e / c Expand / collapse all Claude messages
Enter Open detail view
d Open debug log viewer
t Open team task board (when teams exist)
s / q / Esc Open session picker

Detail view

Key Action
j / k Navigate items
Tab Toggle expand/collapse item
Enter Open subagent or toggle expand
h / l Switch panels left / right
q / Esc Back to list

Session picker

Key Action
j / k Navigate sessions
Enter Open selected session
q / Esc Back to list

Debug log viewer

Key Action
q / Esc Back to list

Development

npm install
npm run tauri dev        # desktop app with hot reload
npm run dev:web          # web mode (opens browser, no desktop window)
npm run dev:tui          # TUI (starts backend + terminal UI together)
npm run tauri build      # production build

Check & Test

npm run check            # run all checks at once
npx vitest run           # frontend tests
cargo test --manifest-path src-tauri/Cargo.toml    # Rust tests
npx tsc --noEmit         # TypeScript type check
npx oxlint               # JS/TS lint
npx oxfmt                # JS/TS format
cargo clippy --manifest-path src-tauri/Cargo.toml  # Rust lint
cargo fmt --manifest-path src-tauri/Cargo.toml     # Rust format

Release

Push a version tag to trigger a GitHub Actions build:

git tag v0.4.0
git push origin v0.4.0

This creates a draft release with macOS, Linux, and Windows artifacts attached. Review and publish it from the Releases page.

License

MIT

Reviews (0)

No results found