---
title: Dev stores
description: Learn how to create and use dev stores to build and test your Shopify apps.
source_url:
  html: 'https://shopify.dev/docs/apps/build/stores/development-stores'
  md: 'https://shopify.dev/docs/apps/build/stores/development-stores.md'
---

# Dev stores

Dev stores are testing environments that you own and control. They let you build and test your apps in a realistic Shopify environment without affecting any live store. You can connect directly to a dev store from Shopify CLI using the `shopify app dev` command, which previews your changes without deploying a new version to production.

***

## Requirements

Before you begin, make sure you have the following accounts and permissions:

* A Shopify Partner account or a merchant store with developer permissions.
* The [required permissions](https://shopify.dev/docs/apps/build/dev-dashboard/user-permissions) to create dev stores in your organization.

***

## Create a dev store

You can create a dev store with Shopify CLI, or start from the Dev Dashboard.

### Use Shopify CLI

The Shopify CLI [`store create dev` command](https://shopify.dev/docs/api/shopify-cli/store/store-create-dev) creates new dev stores in your organization. The command will prompt you for required values, or you can configure the store via flags:

| Flag | Description |
| - | - |
| `--name` | The name for the store. This name is used to identify the store and create the store's `myshopify.com` URL. |
| `--plan` | The Shopify plan to use: `basic`, `grow`, `advanced`, or `plus`. |
| `--demo-data` | Populates the store with [demo data](https://shopify.dev/docs/apps/build/stores/generated-test-data) so you're not testing against an empty store. |
| `--feature-preview` | The handle of a [feature preview](https://shopify.dev/docs/apps/build/stores/feature-previews#available-feature-previews) to enable on the store. |
| `--country` | The store's two-letter ISO country code, such as `US`, `CA`, or `GB`. |

For example, the following command creates a Plus plan store in Canada, populated with demo data:

## Terminal

```bash
shopify store create dev --name "Checkout testing" --plan plus --demo-data --country CA
```

### Use the Dev Dashboard

**Create store** opens the store setup flow in Shopify admin. When setup completes, the store appears in the Dev Dashboard's **Stores** list.

1. Log in to the [Dev Dashboard](https://dev.shopify.com/dashboard/).

2. Select **Stores** from the left sidebar.

3. Select **Create store**, then select **Dev** as the store type.

4. Enter a name for your dev store. This name is used to identify the store in the Dev Dashboard.

5. Select a plan for your dev store:

   * **Basic**: Includes core Shopify features for small businesses.
   * **Grow**: Includes additional reporting and staff accounts for growing businesses.
   * **Advanced**: Includes advanced reporting, lower transaction fees, and third-party calculated shipping rates.
   * **Plus**: Includes enterprise-level features like Shopify Flow, LaunchPad, and dedicated support.

6. Optional: Select **Test a [feature preview](https://shopify.dev/docs/apps/build/stores/feature-previews)** to test capabilities that aren't available to all stores yet.

7. Select **Create store** to finish setup.

8. Log in to your dev store.

***

## Store access

When you create a dev store, you're automatically designated as the [store's owner](https://help.shopify.com/manual/your-account/users/roles/roles-managed-by-shopify/owner-roles). Shopify CLI and Dev Dashboard display dev stores that you have access to.

Additional users must be added to the store as [staff members](https://help.shopify.com/manual/your-account/users/invite-users).

When a [feature preview](https://shopify.dev/docs/apps/build/stores/feature-previews) is enabled on a dev store, you don't have access to [domains](https://help.shopify.com/en/manual/domains).

***

## Clean up dev stores

Organizations are limited to 250 dev stores. You can use Shopify CLI to list dev stores in your organization, and delete stores you no longer need.

1. List the stores in your organization using the [`shopify store list` command](https://shopify.dev/docs/api/shopify-cli/store/store-list):

   ## Terminal

   ```bash
   shopify store list
   ```

2. To delete a store, pass its `myshopify.com` domain to the [`shopify store delete` command](https://shopify.dev/docs/api/shopify-cli/store/store-delete):

   ## Terminal

   ```bash
   shopify store delete --store my-dev-store.myshopify.com
   ```

### Example: Delete stores older than two years

Use the `--json` flag with `shopify store list` to filter and script the command output. Each entry includes `store`, `type`, and `createdAt`, so the following deletes every dev store created more than two years ago:

## Terminal

```bash
shopify store list --type dev --json \
  | jq -r '.stores[]
           | select((.createdAt | fromdateiso8601) < (now - 2*365*86400))
           | .store' \
  | xargs -I{} shopify store delete --store {} --force
```

In this example:

* `--type dev` matters on a large organization. The command returns at most 250 stores, newest first, so the old dev stores you're trying to delete are the ones that fall off the end. Filtering by type on the server keeps them in range.
* `createdAt` is when the store was created, not when it was last opened.

**Caution:**

Deleting a dev store is permanent. The store and its data are purged, and can't be restored.

***

## Limitations

Dev stores are for development and testing only. They can't be used in production or process real transactions. The following limitations and testing requirements apply:

* For apps that use [App Pricing](https://shopify.dev/docs/apps/launch/billing/shopify-app-pricing#testing), you can select any available plan for an app that belongs to your Partner organization at no charge. For apps from another Partner organization, you can select free plans or any plan the Partner has marked as free to test.
* For an app that uses manual pricing, use a [Billing API test charge](https://shopify.dev/docs/apps/launch/app-store-review/pass-app-review#manual-pricing-with-the-billing-api) to test your own app. To make the app available on other Partners' dev stores, [set up free testing](https://shopify.dev/docs/apps/launch/billing/manual-pricing/subscription-billing/offer-free-trials#set-up-free-testing).
* You can [test orders](https://help.shopify.com/en/partners/manage-clients-stores/test-orders) using Shopify's Test payment gateway or by activating test mode for your payment provider. Real transactions through active payment providers, Store Credit, and Gift Cards aren't supported.
* Dev stores are always password protected. You can't remove the password page or replace it with a custom one. Your theme's [customizable password page](https://help.shopify.com/en/manual/online-store/themes/password-page) is a separate page: it doesn't control access to a dev store, but you can edit and preview it.
* Dev stores can't be converted to production stores.
* Dev stores can't be transferred to a client. If you're building a store for a merchant, use a [client transfer store](https://shopify.dev/docs/apps/build/stores/client-transfer-stores) instead.

***

## Next steps

* [Start building an app](https://shopify.dev/docs/apps/build) using your dev store as a testing environment.
* [Test apps locally](https://shopify.dev/docs/apps/build/cli-for-apps/test-apps-locally) with Shopify CLI and your dev store.
* [Create a client transfer store](https://shopify.dev/docs/apps/build/stores/client-transfer-stores) to build a store for a merchant.

***
