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
Learn more ↓
session.link/r/9f3kx2mvq7wtd4 · unlisted · exact

math-agent / q117

correct ✓ 1,593 tok $0.0092 4.18s
math-agent4.18s
plan-and-act1.85s
calculator20ms
final-answer2.15s

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

$0
  • Public & unlisted sessions, unlimited views
  • Secret scanning on every upload, twice
  • Immutable, content-addressed storage
  • Raw bytes served back, hash-verifiable
Start sharing sessions

pro planned

$15 / month
  • Private sessions
  • Bigger sessions, more ingest volume
  • Unlimited retention, personal profile
  • Everything in free
Coming soon

team planned

$29 / seat / month
  • Orgs & shared private groups
  • Eval dashboards and score history
  • Annotation export — labels become datasets
  • Custom redaction rules & audit log
Coming soon

planned for later — enterprise: sso/saml · data residency · self-hosted