Every session deserves a URL.
Publish an LLM session — an eval item, an agent trace, a one-off completion — and get back a permanent page anyone can inspect. Remix, compare, and discuss are on the way, anchored to the same URLs.
curl -fsSL https://session.link/install.sh | sh
math-agent / q117
Get a session in from anywhere.
One open format, five ways in — and whatever produced the session, the raw
payload is preserved untouched. Install with the one-liner above; coming
from Claude Code, Codex, opencode, pi, or Hermes, slink share
is the whole setup.
share
Finds your newest agent session, shows you what it found, and publishes after you confirm — signing you in if needed.
slink share
# newest session → URL
record
Zero code changes. A local proxy captures every call — streaming included — and nothing leaves your machine until you say so.
slink record -- python agent.py
# wraps ANTHROPIC_BASE_URL / OPENAI_BASE_URL
import
Already had the session? Convert your coding agent's transcript
after the fact — no prior setup, honestly marked
reconstructed.
slink import
# your latest agent transcript → a session
view
Browse captures locally in the exact viewer this site renders. The Publish button is on the page you're already looking at.
slink view
# 127.0.0.1 · WYSIWYG · publish from the page
push
Push what your harness already wrote — any valid session/v0
document, straight from a script or CI.
slink push trace.json
# validate · scan · confirm · URL
One link, four verbs.
A session page isn't a screenshot. Every span is an anchor, every anchor is something a teammate can open, fork, or argue with. Inspect is live today; the other three are built on the same anchors, in that order.
Inspect
Trace tree with a timing waterfall, formatted messages, and the raw
payload one toggle away. Point at step 14 with #span=s14.
Remix soon
Fork any call into a playground, change the prompt or the model, and re-run on your own key. Lineage stays linked to the parent.
Compare soon
Side-by-side with output diffs and metric deltas. An eval is just sessions sharing a group — scores line up on their own.
Discuss soon
Comments anchor to spans, not screenshots. Thumbs and labels quietly become an eval dataset you can export.
Boring promises, kept.
raw is sacred
Normalization can be lossy or wrong; the original payload never is. Anything we can't render beautifully renders honestly, as JSON.
secrets never land
Credentials are scanned twice: in the CLI before a byte leaves your machine, and again on the raw bytes before anything touches disk. Leaks are rejected, not published.
links don't die
Sessions are immutable and content-addressed — the exact bytes are served back, so anyone can verify the hash. Deletion is a clean tombstone, never a silent edit.
unlisted by default
Sixty-nine bits of unguessable URL, no public index, and crawlers are told to stay out. You decide what gets shared, one link at a time.
Pricing: free while it's young.
Public and unlisted sessions cost nothing, forever — the link is the point. The tiers below are planned, not live: nothing is billable yet.
free
- Public & unlisted sessions, unlimited views
- Secret scanning on every upload, twice
- Immutable, content-addressed storage
- Raw bytes served back, hash-verifiable
pro planned
- Private sessions
- Bigger sessions, more ingest volume
- Unlimited retention, personal profile
- Everything in free
team planned
- Orgs & shared private groups
- Eval dashboards and score history
- Annotation export — labels become datasets
- Custom redaction rules & audit log
planned for later — enterprise: sso/saml · data residency · self-hosted