Your best agent session is a 4,000-line markdown file.
YC now asks applicants to attach a coding agent session they're proud of, and every serious agent tool can export one. What none of them solve: the export is a wall of raw markdown, and the people you want to show it to — a cofounder, a reviewer, the internet — will not scroll a wall. Getting the transcript out, and making it readable, are two different jobs.
No card · 3 pages free · about a minute
How do you export and share a coding agent session?
Export it from the tool — /export in Claude Code, the sessions directory in
Codex CLI, Export Chat in Cursor — which produces a markdown or text transcript. For an
application form, upload that file as-is. To actually show it to a person, publish the
.md to a page: it renders styled and readable at a private link, gated if needed, and
the link updates in place when you export a better run.
# Session 2026-08-24T05:01:12
**Human:** Add standard RateLimit headers to the anonymous
publish endpoint, and Retry-After on the 429.
**Assistant:** Reading upload.ts to find the limiter... The
anon path counts rows in anon_uploads over a 24h window. I
will compute reset from the oldest row and emit the triplet
on every response, plus Retry-After when the cap is hit.
[tool_use: Read] {"file_path": "src/upload.ts", "offset":
60, "limit": 120}
[tool_result] 1059 lines truncated ...
[tool_use: Edit] {"file_path": "src/upload.ts", "old_str":
"if (anonUsed >= ANON_UPLOADS_PER_DAY) {", "new_str": ...
[tool_result] ok
**Assistant:** Tests: 14 passed. The 429 now carries
Retry-After computed from the window reset.curl -X POST api.stacktr.ee/sites -F file=@session.mdstacktr.ee/p/QYAfjS… · private · gate optionalPublished for real while writing this post — a raw .md in, a styled page out, one request.
Why this suddenly matters
Y Combinator's application added an optional question for the Spring 2026 batch that has been circulating again this weekend: "attach a coding agent session you're particularly proud of" — a .md or .txt file, up to 10MB. The form's own help text points at the mechanism: most coding agents have an /export command or an export button. The question is a tell about where evaluation is going: not "do you use AI tools" but "show us the actual session." And a culture of showing off sessions needs two things the tools half-provide: getting the transcript out, and making it readable.
Getting it out, tool by tool
As of this writing: Claude Code has /export, which writes the whole conversation — turns, tool calls, results — to a file or clipboard. Codex CLI keeps per-session transcripts under ~/.codex/sessions. Cursor exports a chat from the conversation menu. Whatever the tool, the output is the same species: a long, honest, machine-formatted markdown file. For the YC form, that raw file is exactly what you upload; done.
The wall problem
Everywhere else, the export is where sharing goes to die. A real session runs thousands of lines: interleaved tool dumps, JSON arguments, retries. Sent as a file attachment, it gets skimmed for ten seconds. The fix is the same one that works for every other artifact an agent produces: put it on a page. We published this post's own test transcript while writing it — one request, no account:
curl -X POST https://api.stacktr.ee/sites -F file=@session.md The markdown renders as a styled page — headings, code blocks, readable width — at an unguessable link. Anonymous publishes live 24 hours; claim the page free to keep it, passcode it (any plan) if the session touches private code, and update_site replaces it in place when you export a better run, so the link you sent your cofounder on Monday shows Thursday's pick.
Choosing the session worth showing
Having reviewed a lot of our own: the impressive transcript is rarely the flawless one. It's the one with a real recovery — the agent hits a wall, diagnoses it, routes around it, and says what it verified. If you're picking between candidates, publish the shortlist to one gated link each and let your cofounder read them like documents rather than scroll them like logs. Prune repeated tool dumps if you're sharing publicly; keep the dead ends that show judgement. For applications, resist the rewrite — raw is the point, and reviewers can tell.
See it in one call, no account
curl -X POST https://api.stacktr.ee/sites -F file=@index.html
# → a private URL, live for 24h. Claim it free to keep it.
If your agents emit HTML, they need a durable publish target: publish once, then
update_site
on every revision keeps the same URL forever. MCP, REST, and skills all speak it —
the map is at agent.txt.
Frequent questions
How do I export a session from Claude Code? +
How do I export a session from Codex or Cursor? +
What is the YC "coding agent session" application question? +
How do I share an agent session with someone as a link? +
Should I clean up a session transcript before sharing it? +
Related guides
- The design pass For HTML pages an agent shipped plain: one click to Stacktree’s design standard.
- Why agents need a publish primitive The thesis: agent output deserves a URL, not an attachment.
- For developers The publish API, MCP server, and the standing-report pattern.
- What AI agents publish What actually gets published when agents hold the pen.
Sources and further reading
The session deserves better than an attachment.
Publish the .md free, gate it if it's sensitive, update it in place when a better run lands.
Sign up free →