Skip to main content

app dev
command

Builds the app and lets you preview it on a development store or Plus sandbox store.

Note

Development store preview of extension drafts is not supported for Plus sandbox stores. You must deploy your app.

To preview your app on a development store or Plus sandbox store, Shopify CLI walks you through the following steps. If you've run dev before, then your settings are saved and some of these steps are skipped. You can reset these configurations using dev --reset to go through all of them again:

  • Associating your project with an app associated with your Partner account or organization, or creating a new app.

  • Selecting a development store or Plus sandbox store to use for testing. If you have only one store, then it's selected automatically.

  • Installing your app on the store using the provided install link.

  • Creating a tunnel between your local environment and the store using Cloudflare.

    You can use your own tunneling software instead, by passing your tunnel URL with the --tunnel-url flag.

  • Updating the app URLs that are set in the Partner Dashboard.

    To avoid overwriting any URLs that are already set, select the No, never option. If you select this option, then you're provided with URLs that you can manually add in the Partner Dashboard so you can preview your app.

  • Enabling development store preview for extensions.

  • Serving GraphiQL for the Admin API using your app's credentials and access scopes.

  • Building and serving your app and app extensions.

If you're using the Ruby app template, then you need to complete the following steps outlined in the README before you can preview your app for the first time.

Caution

To use a development store or Plus sandbox store with Shopify CLI, you need to be the store owner, or have a staff account on the store. Staff accounts are created automatically the first time you access a development store with your Partner staff account through the Partner Dashboard.

The following flags are available for the app dev command:

Anchor to --checkout-cart-url <value>
--checkout-cart-url <value>
string
env: SHOPIFY_FLAG_CHECKOUT_CART_URL

Resource URL for checkout UI extension. Format: "/cart/{productVariantID}:{productQuantity}"

string
env: SHOPIFY_FLAG_CLIENT_ID

The Client ID of your app.

Anchor to --localhost-port <value>
--localhost-port <value>
string
env: SHOPIFY_FLAG_LOCALHOST_PORT

Port to use for localhost.

env: SHOPIFY_FLAG_NO_COLOR

Disable color output.

env: SHOPIFY_FLAG_NO_UPDATE

Skips the Partners Dashboard URL update step.

string
env: SHOPIFY_FLAG_NOTIFY

The file path or URL. The file path is to a file that you want updated on idle. The URL path is where you want a webhook posted to report on file changes.

string
env: SHOPIFY_FLAG_PATH

The path to your app directory.

env: SHOPIFY_FLAG_RESET

Reset all your settings.

Anchor to --skip-dependencies-installation
--skip-dependencies-installation
env: SHOPIFY_FLAG_SKIP_DEPENDENCIES_INSTALLATION

Skips the installation of dependencies. Deprecated, use workspaces instead.

Anchor to --subscription-product-url <value>
--subscription-product-url <value>
string
env: SHOPIFY_FLAG_SUBSCRIPTION_PRODUCT_URL

Resource URL for subscription UI extension. Format: "/products/{productId}"

Anchor to --theme-app-extension-port <value>
--theme-app-extension-port <value>
string
env: SHOPIFY_FLAG_THEME_APP_EXTENSION_PORT

Local port of the theme app extension development server.

Anchor to --tunnel-url <value>
--tunnel-url <value>
string
env: SHOPIFY_FLAG_TUNNEL_URL

Use a custom tunnel, it must be running before executing dev. Format: "https://my-tunnel-url:port".

env: SHOPIFY_FLAG_USE_LOCALHOST

Service entry point will listen to localhost. A tunnel won't be used. Will work for testing many app features, but not those that directly invoke your app (E.g: Webhooks)

env: SHOPIFY_FLAG_VERBOSE

Increase the verbosity of the output.

Anchor to -c, --config <value>
-c, --config <value>
string
env: SHOPIFY_FLAG_APP_CONFIG

The name of the app configuration.

string
env: SHOPIFY_FLAG_STORE

Store URL. Must be an existing development or Shopify Plus sandbox store.

string
env: SHOPIFY_FLAG_THEME

Theme ID or name of the theme app extension host theme.

Was this section helpful?

App dev

shopify app dev [flags]