See what your AI agents actually did in your repo.
One install. Replay any session. Verify anywhere.
You use Claude Code, Cursor, Cline, Codex, or Continue. Each keeps its own log in its own format, none of them talk to each other, and half the trail is gone by the time you need it. Etch is a one-line install that captures every tool call into a signed chain you can replay session-by-session, filter by repo, and verify offline. If we shut down tomorrow, statements from today still verify forever against your pinned keys.
Install in one command → Start a free pilot
The install
curl -sSL https://etch.systems/install/claude-code.sh | bash -s -- \
--project my-project \
--token wm_your_app_token \
--path-filter my-repo,my-other-repo
The installer places the Claude Code hook, merges your
~/.claude/settings.json, writes an env fallback file the
hook reads even when Claude Code was launched from Dock (macOS GUI
apps do not inherit ~/.zshrc), installs a launchd or
systemd daemon for transcript backfill, and runs a self-verify. About
15 seconds end-to-end.
Per-repo scoping
--path-filter takes a comma-separated list of substrings.
An event lands in Etch only when the session's cwd, transcript path,
or tool_input file_path matches at least one substring. Everything
else is silently dropped.
Example
You're a solo dev with 17 project directories under
~/.claude/projects/. Only 3 are for the client you
pilot Etch with. Install with
--path-filter ClientA-Frontend,ClientA-API,ClientA-Ops.
Every Claude Code call in your other 14 directories is dropped
before it hits the network. No leak, no mix, no accidental
disclosure.
Automatic dev attribution
Every event carries a dev_id. By default, that value
comes from GIT_AUTHOR_EMAIL or
git config --global user.email. Nothing to configure.
Team members with different emails show up as different developers
in the Team tab. GitHub noreply aliases (
<user>@users.noreply.github.com) auto-collapse
with the same person's real email — the Team tab shows one
identity, not two.
Per-developer rollups of events, sessions, agents used, and top tools. Filter by feature tag to compare team members on the same workstream.
Every session grouped and searchable by developer, agent, or tool. Click into a session to see the full timeline plus the provenance DAG.
Set ETCH_FEATURE_TAG=auth-refactor once. Your
Claude Code, Cursor, and Cline sessions all get tagged and roll
up together in one filter.
Signed monthly statement per client
At the end of every month, download a signed audit statement for the client's project in HTML, JSON, or PDF. Every tool call the agent made, every session, every dev on the account, every epoch closed. Sign your invoice with a signed statement attached — auditor- grade proof of the work you billed for.
curl -sSL \
https://etch.systems/statement/client-a-project/2026-07.pdf \
> client-a-2026-07.pdf
Behaviour drift and root cause
The Drift tab shows month-over-month change on every metric and alerts when any moves more than 3x. When you notice the agent misfired on a specific session, click through to Root Cause Analysis and walk backwards through the causal chain. Etch highlights the most-suspect ancestor decision with a heuristic score across four signals: success flag, error text, rare tools, and agent-stuck time gaps.
Five agents supported today
hook + transcript backfill
workspaceStorage transcript backfill
task file transcript backfill
session JSON backfill
dev_data JSONL backfill
Ready to install?
Sign up (about 20 seconds), copy the install command from the Integration tab, paste on your Mac or Linux dev box. First audit statement rolls up 30 seconds after your first tool call.