← blog··7 min read

Claude Code Artifacts Can Go Public Now. Live Dashboards Still Can't.

Anthropic shipped public sharing links, editor roles, and live MCP connector data for Claude Code Artifacts in the week of July 13, 2026. Here's what actually changed, and the one sharp trade-off that decides which feature you get.

claude-codeartifactsmcpnew-featuredashboards
Kev Gary
Founder & Lead Instructor, Claude Camp

Back in June I wrote about Claude Code Artifacts and flagged the constraint that made them a half-step short of useful for me: sharing was org-scoped only. You could hand a live page to a teammate inside your Anthropic org. You could not send it to a client, a contractor, or your business partner who runs their own account. For a solo operator, that's most of the people I'd actually want to show something to.

That gap closed the week of July 13, along with a second feature that matters more than the headline suggests. Both landed in Claude Code v2.1.207 through v2.1.212, and the combination is worth understanding precisely, because the two features don't fully stack. That's the part nobody's write-up mentions.

What actually shipped

Three things, per Anthropic's artifacts docs:

Public sharing links. On Pro and Max plans, a public link is now the way you share an artifact: anyone with the URL can open it, no claude.ai account required. On Team and Enterprise, public sharing is off by default until an org Owner turns it on, but the option now exists.

Editor roles. On Team and Enterprise plans, you can promote a viewer to an editor. An editor republishes new versions the same way you'd update it from a second session: they hand Claude the artifact's URL in their own session and Claude pulls the current content and republishes. Everyone with the page open sees the update live.

Live MCP connector data. This is the one I actually care about. A published artifact can now call your connected tools (Stripe, GitHub, Notion, whatever you've wired up) every time someone opens the page, instead of freezing at whatever data existed when Claude built it. Requires Claude Code v2.1.209 or later.

That last one is the difference between an artifact and a screenshot. Before this, if I asked Claude to build a dashboard off Stripe and PostHog data mid-session, the numbers were correct the moment I published and stale five minutes later. Now the page can re-pull on load, on an interval, or when someone clicks a refresh button on the page itself.

The catch: you can't have both

Here's the part that took me a second read to fully register. An artifact that calls connectors cannot be shared to a public link, on any plan. On Pro and Max, where public is the only sharing mode, a connector-backed page just stays private to you. On Team and Enterprise, it can go to your org, but never outside it.

artifact typepublic linkorg-onlyStatic page(built once, snapshot)yesyesLive-data page(calls MCP connectors)no, on any planyesPick one: send it outside your org, or keep it live.

Which makes sense once you think about why: a connector-backed page has to run each call through the viewer's own connected accounts, and claude.ai only knows who "the viewer" is if they're signed in and connected. A public link has no signed-in viewer to authorize against. So the two features are architecturally exclusive, not a plan-tier upsell you can pay your way past.

Practically, that splits my use cases cleanly in two. A one-time client walkthrough of a PR diff, or a finished project handoff: public link, done. A live funnel dashboard I want a partner or a contractor to check on their own schedule: they need to be in my org (Team plan) or I'm rebuilding it as a real deployed page, because the artifact route stops at private.

How the live data actually authenticates

The other detail worth internalizing before you build one of these: the page doesn't run on your credentials. It runs on the viewer's.

Viewer opens pageno publisher access usedViewer's ownconnector authDataTwo viewers, same page,can see different data.

Each connector call from a shared artifact runs through whichever account is currently looking at the page, not yours. Two people can open the exact same dashboard and see different numbers, because it's checking what each of their own Stripe or GitHub connections can reach. claude.ai never sees anyone's credentials directly; it makes the call on the page's behalf and asks each viewer to approve access the first time. If a viewer hasn't connected the tool the page needs, they just see the page without that section, not an error.

This is the right default and also a real gotcha if you forget it. I asked Claude to build a dashboard against my own Stripe connector, shared it internally, and the first teammate who opened it saw an empty revenue card because they'd never connected Stripe on their own account. Not a bug. Worth telling Claude to add a fallback message naming the connector a section needs, so a missing connection reads as "connect this" instead of a blank box.

What I'm actually doing with this

I'm using public links for the thing I said I couldn't do in June: sending a finished walkthrough or a one-off report to someone outside my org who has zero reason to sign up for Claude anything. That's the whole unlock, and it's a real one.

I'm not building live client dashboards on top of connector artifacts yet, because "org-only, forever" is a real constraint for a company my size where most of the people I'd want to see live numbers aren't inside my org. For that I'm still running an internal dashboard on real infrastructure I control, because it needs to survive a client who isn't logging into claude.ai.

If you're on Team or Enterprise and your audience is genuinely internal, the live-connector version is the better default now. Check the plan requirement first: v2.1.209 or later for connector calls, and confirm your org's Owner has the artifact-connectors toggle on if the page comes back empty for everyone. That's usually the answer before you go debugging your own MCP config.

// keep reading

Related posts

← all postsPublished July 20, 2026