Guide · Claude Code
How to share Claude Code output as a link
Claude Code just built you a dashboard, a report, or a PDF, and now it's sitting in your terminal scrollback. freo.cloud gives the agent a place to publish it, so you get a shareable link without standing up hosting or pushing a public repo.
The fastest way to share Claude Code output is to let Claude Code publish it for you. Connect
freo.cloud once by pasting a setup
prompt; after that you just say "publish this and give me the link" and the agent uploads the
file to your own @handle space, sets who can open it, and hands
back a URL. No hosting, no repo, no deploy step.
On a chat app like Claude.ai or ChatGPT instead of a coding agent? Connect the MCP server with one-click OAuth (no token) — then the same "just ask it to publish" flow applies.
The problem: good output, nowhere to put it
Coding agents are great at producing artifacts, but the moment someone outside your terminal needs to see one, the usual options are all a little wrong: emailing an .html attachment is friction and a security smell, a screenshot throws away interactivity, and standing up GitHub Pages or an S3 bucket is a chore for a page you'll share once. A public repo or bucket is also the wrong default for numbers you'd rather not index on Google.
What you actually want is boring: a URL, scoped to the right audience, that you can hand off and move on. That's the whole job.
The fast way: connect once, then just ask
freo.cloud gives your agent a place to publish to. You wire it up one time, and after that Claude Code can publish on its own whenever you ask in plain English.
-
01
Sign in with your email
No passwords — a magic link drops you into your own
@handlespace. This is where everything you publish lives. -
02
Copy your setup prompt
From your Connect page — it's one-time and expires. Your publishing key never appears in any URL.
-
03
Paste it into Claude Code
Claude Code claims a scoped publishing key and saves the publishing skill for itself. Works on macOS, Linux and Windows.
-
04
Just ask it to publish
No flags to remember — the skill is on the agent now, not in your head.
What you'd say to Claude Code
“Publish that dashboard you just built and give me the link — email-protected, only people I name should be able to open it.”
Claude Code figures out which file you mean, picks the access level you described, publishes it to your space, and hands back a URL. You paste that into Slack or an email and you're done.
What you can share
Pretty much anything an agent produces as a file:
- →Markdown reports — analyses, summaries, postmortems. Rendered clean for reading, no raw
.mdto parse. - →HTML dashboards — a single self-contained file or a bundle with its own CSS and JS. Charts, tables, filters — they stay interactive.
- →PDFs — invoices, generated documents, exported reports.
- →Images — diagrams, rendered charts, screenshots the agent saved out.
Controlling who sees it
Every publish gets one of four access levels — public, unique link, email-protected, or allowlist — and you can describe the one you want in the same sentence that asks to publish. The access-control guide covers when to use each.
Each document tracks its own views, so you can see whether the stakeholder actually opened the thing you sent — useful before you chase them about it.
A note on safety
Published HTML runs inside a sandboxed iframe, so a page can't reach into the rest of your space or the host. And because agent output sometimes carries things it shouldn't, every publish is scanned for leaked secrets — API keys, tokens, credentials — before it goes live. It's not a substitute for reviewing what you share, but it catches the obvious mistakes that are easy to make when an agent is moving fast.
Same flow on Codex, Cursor, Windsurf and more
This guide says "Claude Code" because it's the common case, but nothing here is Claude-specific. The publishing skill follows the open Agent Skills standard, so the exact same "connect once, then ask" flow works in Codex, Cursor and Windsurf — each has a one-prompt setup on its own page. If what you're sharing is specifically an HTML page or dashboard, the HTML-hosting guide goes deeper on bundles and interactivity.
If something goes wrong
The agent says it isn't connected (or a publish is rejected as unauthorized)
The publishing key expires (about every 90 days) and renews itself while it's still valid — but if it lapsed, the agent just needs a fresh setup prompt from your Connect page. Paste it once and you're set again.
It published the wrong file
Name the file explicitly — "publish q3-dashboard.html, not the draft" — and the agent will pick that one. You can delete a document from your dashboard at any time.
The upload was too large
Single files cap at 10 MB and a multi-file bundle at 50 MB total. For a heavy report, ask the agent to export a leaner version (compress images, drop bundled raw data) — usually a one-line request.
It warned about a secret in the file
That's the secret scanner doing its job — it blocked a publish that looked like it contained an API key or token. Remove the credential from the file and re-publish. Only override if it's a genuine placeholder.
The alternatives, fairly
freo isn't the only way to put a file on the internet, and for some jobs it's not the right one. Here's the honest comparison:
GitHub Pages
Great if the output already lives in a repo and you want it versioned alongside the code. But it's public by default, tied to a repo, and there's no per-viewer access control or view tracking. Overkill for a one-off link, and wrong if the content is sensitive.
S3 / static hosting
The right tool when you're hosting an actual site or app long-term. For sharing a single artifact it means buckets, bucket policies, maybe CloudFront and a domain — a lot of setup, and access control you have to build yourself.
Pasting into a gist
Fast and fine for a code snippet or raw markdown. But a gist won't render an interactive HTML dashboard, can't be email-gated, and a "secret" gist is still anyone-with-the-link forever.
Use freo when the value is in sharing the artifact — fast, scoped to an audience, with tracking — rather than hosting or versioning it. For that one specific job it's the least friction, especially because the agent does the publishing step for you.
Questions
Do I have to run a command for each publish?
No. After the one-time connect, the publishing skill lives on Claude Code. You ask in plain language — “publish this” — and it handles the file and the audience.
Will my interactive dashboard still work as a link?
Yes. HTML — single-file or a bundle with its own CSS and JS — renders in a sandboxed iframe, so charts, filters and tables stay interactive for the viewer.
Is it really free?
Free for now. Sign in with your email and you'll have your @handle space and your setup prompt in seconds.
Send your next Claude Code result as a link
Connect once, then just ask Claude Code to publish. See the Claude Code setup, or how it all works across other agents.
Get your space — it's free →