See your agent's decisions.
You didn't make all of them. Your name is still on the PR.
$ curl https://tern.sh/install | bashcontent_copyCopy install commandRuns in your agent.
When an agent makes a decision you'll care about, Tern clarifies. You'll see when it descoped your fix or misinterpreted its own spec. The mechanical work stays with the agent.
Added a 5s timeout on the billing client.
Retries landed on 3 of 11 outbound calls. Apply them everywhere, nowhere, or leave these three?
From the agent turn to the PR.
Decisions you care about.
Tern reads your agent sessions on your laptop and assembles a lens, so it knows whether a decision is relevant to you.
It names the calls that would change the product: a descoped fix, a spec it misread.
Same session as yesterday.
From the agent turn to the PR.
Decisions you care about.
Tern reads your agent sessions on your laptop and assembles a lens, so it knows whether a decision is relevant to you.
It names the calls that would change the product: a descoped fix, a spec it misread.
Same session as yesterday.
Steer easily.
Tern asks when there's a reasonable alternative you'd care to know about. Answer in the session. Your agent changes the code, and Tern records what you meant.
What you already decided about this code comes back later. You won't keep talking to Tern about the same things.
Retries landed on 3 of 11 outbound calls. Apply them everywhere, nowhere, or leave these three?
Share with your team.
When you open a PR, Tern creates a Tour, walking your reviewer through your approach.
The PR is grouped by what you intended. Anything the agent added on its own is flagged.
On a store miss it returns whatever the v2 service hands back, coupling v1 to v2 at runtime.
return nil, err // fall back to v2 r, _ := v2.Get(ctx, id) return v2ToV1(r.User), nilSee a Sentry pull request.
#119682 — Rebuild issue status banner on activity chips. Click around.
Rebuild issue status banner on activity chips
10 files +794 −109curl https://tern.sh/install | bashcontent_copytern tour # anytime, on any branchcontent_copy


