--- title: theme dev description: |2- Uploads the current theme as the specified theme, or a [development theme](/docs/themes/tools/cli#development-themes), to a store so you can preview it. This command returns the following information: - A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data. You can specify a different network interface and port using `--host` and `--port`. - A link to the [editor](/docs/themes/tools/online-editor) for the theme in the Shopify admin. - A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers. If you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag. > Note: You can't preview checkout customizations using http://127.0.0.1:9292. Development themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should [share](/docs/api/shopify-cli/theme/theme-share) your theme or [push](/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store. You can run this command only in a directory that matches the [default Shopify theme folder structure](/docs/themes/tools/cli#directory-structure). api_name: shopify-cli source_url: html: https://shopify.dev/docs/api/shopify-cli/theme/theme-dev md: https://shopify.dev/docs/api/shopify-cli/theme/theme-dev.md --- # theme devcommand Uploads the current theme as the specified theme, or a [development theme](https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it. This command returns the following information: * A link to your development theme at . This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data. You can specify a different network interface and port using `--host` and `--port`. * A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin. * A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers. If you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the `--theme-editor-sync` flag. Note You can't preview checkout customizations using . Development themes are deleted when you run `shopify auth logout`. If you need a preview link that can be used after you log out, then you should [share](https://shopify.dev/docs/api/shopify-cli/theme/theme-share) your theme or [push](https://shopify.dev/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store. You can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure). ## Flags The following flags are available for the `theme dev` command: * \--error-overlay \ string env: SHOPIFY\_FLAG\_ERROR\_OVERLAY Controls the visibility of the error overlay when an theme asset upload fails: - silent Prevents the error overlay from appearing. - default Displays the error overlay. * \--host \ string env: SHOPIFY\_FLAG\_HOST Set which network interface the web server listens on. The default value is 127.0.0.1. * \--live-reload \ string env: SHOPIFY\_FLAG\_LIVE\_RELOAD The live reload mode switches the server behavior when a file is modified: - hot-reload Hot reloads local changes to CSS and sections (default) - full-page Always refreshes the entire page - off Deactivate live reload * \--no-color env: SHOPIFY\_FLAG\_NO\_COLOR Disable color output. * \--notify \ 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. * \--open env: SHOPIFY\_FLAG\_OPEN Automatically launch the theme preview in your default web browser. * \--password \ string env: SHOPIFY\_CLI\_THEME\_TOKEN Password generated from the Theme Access app. * \--path \ string env: SHOPIFY\_FLAG\_PATH The path where you want to run the command. Defaults to the current working directory. * \--port \ string env: SHOPIFY\_FLAG\_PORT Local port to serve theme preview from. * \--store-password \ string env: SHOPIFY\_FLAG\_STORE\_PASSWORD The password for storefronts with password protection. * \--theme-editor-sync env: SHOPIFY\_FLAG\_THEME\_EDITOR\_SYNC Synchronize Theme Editor updates in the local theme files. * \--verbose env: SHOPIFY\_FLAG\_VERBOSE Increase the verbosity of the output. * -e, --environment \ string env: SHOPIFY\_FLAG\_ENVIRONMENT The environment to apply to the current command. * -n, --nodelete env: SHOPIFY\_FLAG\_NODELETE Prevents files from being deleted in the remote theme when a file has been deleted locally. This applies to files that are deleted while the command is running, and files that have been deleted locally before the command is run. * -o, --only \ string env: SHOPIFY\_FLAG\_ONLY Hot reload only files that match the specified pattern. * -s, --store \ string env: SHOPIFY\_FLAG\_STORE Store URL. It can be the store prefix (example) or the full myshopify.com URL (example.myshopify.com, ). * -t, --theme \ string env: SHOPIFY\_FLAG\_THEME\_ID Theme ID or name of the remote theme. * -x, --ignore \ string env: SHOPIFY\_FLAG\_IGNORE Skip hot reloading any files that match the specified pattern. ### Examples * #### theme dev ##### theme dev ```bash shopify theme dev [flags] ```