---
title: Publish and republish
description: Put the current storefront online, send later changes, or retry a failed publication.
---

**Entry path:** Workspace → select a store → **Storefront** → **Publish**, **Publish Changes**, or **Republish** (label depends on publication state)

![Runner publishing controls and checks](https://ixft9x6szo.ufs.sh/f/Cc8uxBgAYTzgT7ZAYgD7lIPXqUA4xQWKLGpygc8jMtzfNJri)

## What this covers

Use the publication action Runner shows for the current store state, follow the confirmation to a terminal result, and open or copy the public URL when one is available.

## Why and when to publish

Publishing makes the current project version available at a public store URL. Use **Publish** for the first launch, **Publish Changes** for a store that already has a healthy public URL, and **Republish** to retry a failed or incomplete publication result.

Saving a Design Mode edit, restoring a version, or seeing a correct Preview does not update the public store by itself.

Publication handoff varies by workspace rollout. Some workspaces show a payment warning before publication and only a success toast afterward; others show Store Operations checks before publication and open a checkout-status handoff after success.

## Availability and prerequisites

- Complete the [publication readiness checklist](./prepare-to-publish).
- Use the latest **Current** storefront version.
- Wait for Runner to finish any active request.
- Reconnect the storefront workspace if the button says it is unavailable.
- Publishing can be restricted by your plan or project eligibility.
- When publication requires a higher plan, **Upgrade** opens the Plus monthly confirmation. You can return from that confirmation to the full plan list before purchasing.

## Open the publication flow

1. Open your project.
2. Select **Storefront**.
3. Select the publication button at the right side of the toolbar.
4. Read **Confirm Deployment** and wait for the build check.
5. Resolve or explicitly acknowledge each warning.
6. Select **Confirm** only after the check succeeds.

## Choose the correct action

| Label | When Runner shows it | What selecting it does |
| --- | --- | --- |
| **Publish** | The store has not completed its first publication. | Opens access, setup, change, and build checks for the current version. |
| **Publish Changes** | A completed publication has a usable public URL. | Opens the same checks so you can send the current version to the existing live store. |
| **Republish** | The last publication failed, or it completed without a usable URL. | Starts a fresh checked publication attempt. |
| **Starting… / Preparing… / Building… / Saving checkpoint… / Publishing…** | A publication step is in progress. | The button is disabled and reports progress. Wait for success or failure. |

## Publication and handoff controls

| Control | What happens when you select it |
| --- | --- |
| **Cancel** in **Confirm Deployment** | Closes the dialog and abandons this publication attempt before it starts. |
| **Fix with AI** | Sends a build failure to Runner for repair, without publishing. |
| **Retry check** | Reruns the build check after a workspace-access failure. |
| **Confirm** | Starts publication after the build check and required acknowledgments are complete. |
| Published URL | Opens the public storefront in a new tab. |
| **Copy** or **Copy URL** | Copies the public store address to your clipboard. |
| **View store** | In the checkout-status handoff, opens the public storefront after a successful publication. |
| **Connect Stripe** | In flows that show payment status, starts payment connection when checkout is not ready. Access can depend on your workspace role. |
| **Skip for now** | Closes the post-publish payment prompt when shown. The storefront can stay browseable while checkout remains paused. |
| **Retry checkout status** | In the post-publish handoff, checks again for an enabled Stripe connection when status was unavailable. |
| **Close** | Closes the successful checkout-status handoff when it is shown and checkout is already connected. |
| Published-site menu | On desktop when shown, opens **View Site**, **Copy URL**, **Domain Settings**, and the last-published information. |

## Publish to a terminal result

1. Confirm the button label matches your intention.
2. Select it and wait for the build check to finish.
3. If **Fix with AI** appears, use it, review the resulting preview, and restart publication.
4. If warnings appear, fix the underlying setup whenever checkout or normal store operations matter.
5. Select **Confirm**.
6. Keep the project open until Runner reports success or failure.
7. On success, open the public URL. Use **View store** when the checkout-status handoff appears; another rollout can show only a success toast before returning to Storefront.
8. If the URL is unavailable, close the handoff and use **Republish** after the workspace is ready.
9. If publication fails, read the failure, repair it, and select **Republish**. Do not assume the attempted changes are live.

## Publication states and troubleshooting

| What you see | Meaning | What to do |
| --- | --- | --- |
| **Store published** / **Your store is live** | Runner completed publication and has a public URL. | Open the URL and verify the customer journey. |
| **Publish complete** with **Store link unavailable** | Publication finished without a usable link in the handoff. | Close the dialog, ensure the workspace is ready, then use **Republish**. |
| **Store publish failed** | The publication did not complete. | Review the error or ask Runner to fix it, then use **Republish**. |
| **Your store couldn't be built** | The current project failed before publication. | Select **Fix with AI** and do not retry unchanged work. |
| Button says **Reconnect the sandbox to publish** | Runner cannot reach the storefront workspace. | Reconnect it, then rerun the checks. |
| Button says **Wait for Runner to finish** | A request is still active. | Wait for its terminal result before publishing. |
| Public store shows an older version | The latest project changes were not published successfully. | Check the current version, then use **Publish Changes** and verify again. |

## Related guides

- [Prepare to publish](./prepare-to-publish)
- [Verify the live store and checkout](./live-store-and-checkout)
- [Connect a custom domain](./custom-domains)
