Sandbox
@lookfree/cc-harness

Desktop workbench for Claude Code sessions

CC Harness reads your local `~/.claude/` state and your project’s `.claude/` files, then turns that data into views for topology, token cost, hooks, memory, and config layers. It does not replace Claude Code or edit your sessions for you; it makes the system around the agent visible so you can inspect and decide what to change.

48 stars2 forksTypeScriptUpdated 1mo ago
Who it's for

Builders who use Claude Code and want local visibility into sessions, hooks, and config.

What it delivers

You can see what Claude Code is doing, where it is spending tokens, and how your config layers and hooks fit together.

What it does

Live subagent topology

Renders the subagent call tree from session JSONL in real time, with latency, token cost, and nesting depth.

Hook sandbox

Runs hooks in isolation with simulated input and shows stdout, stderr, exit code, and transformed output.

Token cost breakdown

Splits costs across skills, subagents, MCP, plugins, and base session, then drills into the most expensive turns.

Loop and wakeup monitor

Tracks `ScheduleWakeup` events across sessions and groups them as pending, fired, or expired.

Skill trigger analysis

Extracts trigger keywords from skills and shows example prompts plus a Mermaid diagram.

Dependency graph

Maps relationships between Skills, Hooks, Commands, and MCP into workflow chains.

Auto-memory diffs

Compares `MEMORY.md` snapshots before and after a run and shows the changes.

Config layer map

Shows Skills, Commands, Agents, and Hooks from user, project, and plugin layers with overrides.

README

CC Harness — a desktop workbench for Claude Code

CC Harness

See what Claude Code is actually doing

An open-source desktop workbench for Claude Code: configure · debug · observe · orchestrate

简体中文 · Report an issue

platform Electron MIT license Claude Code version

Claude Code has grown from a single-session tool into a complex system: multi-session orchestration, background loops, scheduled wakeups, auto-memory. Every new capability adds another layer of opacity. The CLI shows you a counter — Running agent 47/200. CC Harness shows you the topology.

Live subagent call tree — the topology grows as the workflow runs, then click any node to read that agent's transcript

What it does

  • Live subagent call tree — tails session jsonl in real time and renders the 5-level subagent/workflow graph with per-node latency, token cost, and nesting depth. When a workflow stalls, you see which branch is stuck.

  • Hook sandbox — dry-run any hook with simulated input: stdout, stderr, exit code, and the transformed result, without opening a real session. Fully isolated environment (PATH / HOME / TMPDIR only — no API tokens, no credentials).

Hook sandbox

  • Token cost breakdown — per-session panel splitting skills / subagents / MCP / plugins / base session. Click a slice to rank that bucket's most expensive turns, then click a row to land on that exact message in the replay. Includes a real-time optimizer: repricing the current session's Opus tokens at Sonnet rates, so you see the exact dollar amount you'd save — from real data, not an estimate.

Token usage

  • Loop & background task monitor — aggregates ScheduleWakeup events across all sessions, classified as pending / fired / expired, with trigger history for each loop.

  • Skill trigger analyzer — extracts trigger keywords from each skill (classified by action / technology / format / topic) and shows example prompts that would activate it. Plus a Mermaid structure diagram of every skill.

Skill trigger analysis

  • Dependency graph — maps five relation types (Skills → MCP, Hooks → MCP, Skills ↔ Hooks, Commands → Skills, Commands → MCP) and assembles related nodes into numbered workflow chains: ① Hook fires → ② MCP server starts → ③ Skill activates → ④ MCP tool call

  • Auto-memory diffs — snapshots MEMORY.md before and after each dream pass, showing added / deleted / modified / merged / conflict-resolved changes. Memory consolidation, visible for the first time.

  • Config layer map — Skills / Commands / Agents / Hooks from all three sources (user / project / plugin), with override relationships marked. Hand a project to a teammate without a word of explanation.

What it's NOT

Not a chat client, not a CLI replacement. claudia replaces the CLI's interaction surface; CC Harness does not touch the conversation at all. It reads your local ~/.claude/ state and makes it legible — judgment and actions stay with you.

Download

Latest release → — macOS (Apple Silicon / Intel), Windows, Linux.

The builds are unsigned, so the first launch needs one extra step:

  • macOSxattr -cr "/Applications/CC Harness.app" after dragging it in, or right-click the app → Open → Open.
  • Windows — SmartScreen shows "Windows protected your PC" → More info → Run anyway.

Nothing leaves your machine: CC Harness only reads ~/.claude and your project's .claude directory.

Build from source

git clone https://github.com/lookfree/cc-harness.git
cd cc-harness
npm install

# Desktop mode (primary, full features)
npm run electron:dev

# Web mode (browser, read-only)
npm run web:dev

Prerequisites: Node.js 18+, Claude Code CLI installed (~/.claude/ exists).

Privacy: everything runs locally. CC Harness reads files under your own ~/.claude/ and uploads nothing.

Status

PhaseScopeState
Phase 0 · Foundationsbuild ordering, scan fallbacks, path config, dependency checks✅ Done
Phase 1 · Configurationskills (3-layer sources), plugin browser, commands, hooks type system, permission editor, layered config writes, model governance, worktree, agents, MCP✅ Done
Phase 2 · Observabilitysession jsonl parsing, session monitor, subagent topology, token usage, hook sandbox, loop panel, MCP health, memory panel✅ Done
Phase 3 · Compose & teachbusiness workflow templates, harness benchmark, onboarding tourPlanned

Aligned with Claude Code 2.1.220 (model pricing incl. Opus 5 & fast tier, deprecated-model migration guidance, new sandbox/workflow settings, DirectoryAdded hook, subagent nesting semantics — all calibrated against the official changelog). Detailed specs in docs/harness-ide-spec/.

Tech stack

  • Desktop: Electron + electron-builder
  • Backend (web mode): Express.js
  • Frontend: React 18 + TypeScript + Vite
  • UI: shadcn/ui + Tailwind CSS + Radix UI
  • Visualization: React Flow (subagent topology)
  • Editor: Monaco Editor
  • State: Zustand · i18n: i18next (中文 / English)

FAQ

Does it modify my Claude Code config automatically? No. It shows you state, verifies hooks, analyzes cost — you decide and act.

Does my session data leave my machine? No. It reads local files under ~/.claude/ and sends nothing anywhere.

Desktop vs web mode? Desktop (Electron) is the primary mode with full features: live session monitoring, hook sandbox execution, MCP connection tests, file watching. Web mode is read-only browsing.

License

MIT

Files in the repo

Repository payload26 top-level entries
  • .claude
  • .github
  • build
  • docs
  • electron
  • images
  • server
  • shared
  • src
  • .eslintrc.cjs
  • .gitignore
  • CLAUDE.md
  • index.html
  • LICENSE
  • package-lock.json
  • package.json
  • postcss.config.js
  • QUICKSTART.md
  • README.md
  • README.zh-CN.md
  • tailwind.config.js
  • test-api.html
  • tsconfig.json
  • tsconfig.node.json
  • vite.config.ts
  • vite.config.web.ts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k