VibeHost
Guides

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 areWhat 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 CanvasDeploy button on the canvas
Claude Artifacts (claude.ai)Deploy button on the artifact
v0.devDeploy button on the generated app
Any other webpagePopup 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)

  1. Generate something in your AI canvas of choice.
  2. The extension injects a Deploy to VibeHost button next to the canvas's own controls.
  3. 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.
  4. 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:

  1. Open the page in Chrome.
  2. Click the VibeHost extension icon in the toolbar.
  3. Pick Capture & Deploy.
  4. The extension reads the rendered DOM, inlines linked CSS / images / fonts where possible, and uploads as a single-page static deploy.
  5. 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.com got 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 deploy from 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

On this page