> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Makeswift

> How the Makeswift site URL and the MAKESWIFT_SITE_API_KEY variable behave when you deploy a Makeswift-enabled Catalyst storefront to Storefront Hosting.

A Makeswift-enabled Catalyst storefront depends on two Makeswift settings: the site's base URL, which tells the Makeswift editor where your storefront runs, and `MAKESWIFT_SITE_API_KEY`, which tells your storefront which Makeswift site to load content from. When you deploy to Storefront Hosting, the first one updates automatically and the second one doesn't.

> **Warning**
>
> The Catalyst CLI is generally available, but Storefront Hosting is currently
> in closed beta. There may be breaking changes to the Storefront Hosting APIs as we
> finalize them. To express interest in gaining access, fill out the [Storefront Hosting Closed Beta Interest Form](https://docs.google.com/forms/d/e/1FAIpQLSfDepq3qRtEtavb1wQvSvdK21pwr_kNsYQbH2B7JjWYyptUSA/viewform?usp=header).

## The Makeswift site URL follows the channel

When you point a channel at your deployment with [`channels update`](/developer/docs/storefront/catalyst/reference/cli#channels-update), BigCommerce also sets the base URL of the Makeswift site connected to that channel to the same hostname. You don't need to change it in the Makeswift dashboard.

```shell
pnpm catalyst channels update --channel-id <CHANNEL_ID> --hostname <DEPLOYMENT_HOSTNAME>
```

The same applies when `catalyst deploy --update-site-url` updates the channel for you. To confirm the change, open the site in the Makeswift dashboard and check **Settings > Host**.

## Set the production API key yourself

The CLI never changes `MAKESWIFT_SITE_API_KEY`. Your deployment uses whatever key is in `.env.local` when you build, which is usually the key for your development Makeswift site. To serve content from your production Makeswift site, set its key yourself.

1. Copy the API key from your production site in the Makeswift dashboard under **Settings > Host**.

2. Store the key on your project so every deploy sends it to the deployed storefront, where it takes precedence over the value built from `.env.local`.

   ```shell
   pnpm catalyst env add MAKESWIFT_SITE_API_KEY=<YOUR_PRODUCTION_MAKESWIFT_SITE_API_KEY>
   ```

   To override it for a single deploy without storing it, pass `--secret MAKESWIFT_SITE_API_KEY=<YOUR_PRODUCTION_MAKESWIFT_SITE_API_KEY>` to `catalyst deploy` instead.

3. Make the build use the same key. The build reads `.env.local`, so a development key there still reaches the build. Set the production key in your shell, or deploy with a separate env file. A file passed with `--env-path` replaces `.env.local` for the build, so it must also contain your `BIGCOMMERCE_*` variables.

   ```shell
   pnpm catalyst deploy --env-path .env.production
   ```

4. Confirm the deployed storefront shows content from your production Makeswift site.

Keep the development key in `.env.local` for local work with `pnpm dev`. For how the CLI loads env files and stored variables, see [Storefront build variables](/developer/docs/storefront/catalyst/deployment/storefront-hosting/overview#storefront-build-variables). For the variable itself, see [`MAKESWIFT_SITE_API_KEY`](/developer/docs/storefront/catalyst/reference/environment-variables#makeswift_site_api_key).

## Next steps

* [Point a channel at your deployment](/developer/docs/storefront/catalyst/deployment/storefront-hosting/getting-started#point-a-channel-at-your-deployment) so the channel and its Makeswift site use your deployment's hostname.
* [Edit and sync content](/developer/docs/storefront/catalyst/makeswift/editing-and-syncing-content) in your production Makeswift site.