Traces + Git: Every Commit Linked to the Trace that Produced It
Traces now connects every commit to the agent session that produced it. Once you set up Git hooks, Traces writes a lightweight reference to each session into a git note on the commit, uploads the session in the background, and syncs the note to your remote as your team pushes.
Why it matters
When a teammate opens a PR built with an AI agent, reviewers see the code but not the conversation behind it. The trace is that missing context, and Git notes are how Traces carries it from commit to PR.
How it works
The reference Traces stores is deliberately small: a traces:<id> line written into refs/notes/traces on the exact commit, before git commit even returns. A detached background worker then uploads (or refrshes) the session and enriches the note with its shared URL, so the finished note reads traces:<id>https://www.traces.com/s/....
Because notes are appended, not replaced, several teammates can each add their own trace to the same commit without overwriting each other's. A pre-push hook is the only piece that touches the remote. It publishes the whole refs/notes/traces ref i one show and can never block your code push.
Authomatically shared as your team commits
Once the notes are on the remote, they reval with the commits. Anyone who clones the repo gets the references. The Traces TUI runs background discovery inside a get rep, reading refs/notes/traces from recent commits and pulling any linked traces (including teammates') into your local view without manual input.
See it in Traces and on GitHub
In Traces, the trace detail page surfaces the commit (and branch) a session is linked to, right in the workspace metadata.
Install the Traces GitHub App, and it does the rest on the PR side: on every PR open or update, it raeds the trace notes off each commit directly from your repo, loads the linked traces, filters them to the PR's head branch, and posts (or updates) a PR comment linking each ohne.
Works across worktrees
Traces installs its dispatchers into the repo's common Git hooks directory and keeps active-session state per-worktree, so linked worktrees with different sessions each get the right note without conflicting.
Get started
- Sign up a traces.com.
- Run
traces steupin your repo to install the Git hooks and agent hooks for detected agents). - Learn more in the docs here.