Chrome extension
Deploy from Gemini, AI Studio, ChatGPT, Claude Artifacts, and v0.dev with one click — or snapshot any webpage as a static deploy.
The VibeHost Chrome extension adds a Deploy to VibeHost button inside AI canvas environments, and a popup that can capture any webpage as a one-page static deploy. It's the fastest path from "I just generated this in Gemini Canvas" to "here's a live URL".
Install
Install from the Chrome Web Store →
After install, click the puzzle icon in Chrome's toolbar → pin VibeHost. First click opens a popup that walks you through sign-in (Google OAuth, same as the dashboard).
What it does
| Where you are | What the extension adds |
|---|---|
| Gemini Canvas | "Deploy to VibeHost" button on the canvas toolbar |
| Google AI Studio (apps) | Same — deploy button inside the app preview |
| ChatGPT Canvas | Deploy button on the canvas |
Claude Artifacts (claude.ai) | Deploy button on the artifact |
| v0.dev | Deploy button on the generated app |
| Any other webpage | Popup button "Capture & Deploy" — snapshots the current tab |
The first five are AI canvas deploys — the extension reads the canvas's source (HTML / JS / CSS), packages it, and uploads. The sixth is a page snapshot — the extension serializes the rendered DOM + inlines the assets the page references, so you get a self-contained static copy.
Canvas deploy (Gemini / AI Studio / ChatGPT / Claude / v0)
- Generate something in your AI canvas of choice.
- The extension injects a Deploy to VibeHost button next to the canvas's own controls.
- Click it. A small panel appears:
- First time: sign in (Google OAuth).
- Pick the target workspace (defaults to your last-used one).
- Optional: edit the auto-suggested app name.
- Click Deploy. The extension reads the canvas, tarballs it, uploads, and shows the live URL when ready. Usually ~5 seconds for static content.
Subsequent deploys to the same canvas re-use the existing app — you get a new immutable deployment URL plus the same primary URL kept up to date.
Capture & deploy (any webpage)
For pages without an explicit "canvas" — a blog post, a landing page, a generated report:
- Open the page in Chrome.
- Click the VibeHost extension icon in the toolbar.
- Pick Capture & Deploy.
- The extension reads the rendered DOM, inlines linked CSS / images / fonts where possible, and uploads as a single-page static deploy.
- Live URL comes back in the popup.
Useful for: archiving an article in a known-good state, sharing a generated report from a tool that doesn't have its own publish flow, grabbing a snapshot of a page before it changes.
Best-effort inlining. Cross-origin assets that block CORS (some CDN-hosted fonts, hot-linked images on private buckets) can't be inlined and will fall back to the original URL in the snapshot — the page still renders if those origins are reachable, but you're no longer fully self-contained. The popup shows a count of inlined vs linked assets so you can spot this before sharing.
Visibility and access
Every extension deploy lands as private by default — only you (and grant-holders) can view. Change with vibehost app visibility from the CLI or the dashboard:
- Private: workspace owners + explicit grantees only.
- Workspace: anyone in your workspace.
- Public: anyone with the URL.
You can also mint a share link or set a password gate on the resulting app from the dashboard.
Permissions explained
The extension's Chrome permissions:
activeTab— read the page you click the extension on. Only when invoked, not in the background.scripting— inject the deploy button into supported canvas pages (Gemini / AI Studio / ChatGPT / Claude / v0).storage— remember your sign-in + last-used workspace.- Host permissions, exhaustive list (from
manifest.json):https://gemini.google.com/*https://aistudio.google.com/*https://chatgpt.com/*https://v0.dev/*https://claude.ai/*https://api.vibehost.com/*
The extension does not read other tabs, browser history, cookies for unrelated sites, or any data outside the active tab when you trigger a deploy. See the VibeHost privacy page (Chrome extension section) for the full data flow.
Troubleshooting
- "Sign in to deploy" keeps showing. Cookies for
vibehost.comgot cleared, or you've been signed out. Click Sign in in the popup, complete OAuth, return. - No Deploy button on the canvas. The canvas site rolled out a UI change and our content script hasn't caught up — file an issue with a screenshot. Workaround: copy the canvas output, paste into a local file, and
vibehost deployfrom the CLI. - Deploy fails with
TARBALL_INVALID. The canvas output is too large (size cap), or contains paths we reject (absolute paths,.., symlinks). Inspect with the dashboard's deploy log. - Live URL is 404 for a few seconds after deploy. Edge cache propagation — usually < 10s. Refresh.
When to use the CLI instead
The extension is optimised for "I'm already in the AI tool and want this published". For everything else, the CLI is more flexible:
- Local builds (Vite, Astro, Next.js export) →
vibehost deploy ./dist - CI / scripted deploys → CLI + Personal Access Token
- Channels / promote / rollback / custom domains → CLI commands map 1:1 to MCP tools
Both write to the same backend with the same auth — you can extension-deploy then continue iterating from the CLI on the same app.
See also
- Canvas deploy recipe — end-to-end Gemini Canvas → live URL walkthrough with screenshots
- Quickstart — the CLI path
- Grants and visibility — change who can see your extension deploys
- Coding agent guides — for the "agent runs the deploy" path