freo.cloud

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.

By Petr Cervenka See a real published doc →

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.

  1. 01

    Sign in with your email

    No passwords — a magic link drops you into your own @handle space. This is where everything you publish lives.

  2. 02

    Copy your setup prompt

    From your Connect page — it's one-time and expires. Your publishing key never appears in any URL.

  3. 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.

  4. 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:

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 →