Docs
Storybook Docs

CLI options

The Storybook command line interface (CLI) is the main tool you use to build and develop Storybook.

Storybook collects completely anonymous data to help us improve user experience. Participation is optional, and you may opt-out if you'd not like to share any information.

CLI commands

All of the following documentation is available in the CLI by running storybook --help.

Passing options to these commands works slightly differently if you're using npm instead of Yarn. You must prefix all of your options with --. For example, npm run storybook build -- -o ./path/to/build --quiet.

dev

Compiles and serves a development build of your Storybook that reflects your source code changes in the browser in real-time. It should be run from the root of your project.

storybook dev [options]

Options include:

OptionDescription
--helpOutput usage information.
storybook dev --help
-V, --versionOutput the version number.
storybook dev -V
-p, --port [number]Port to run Storybook.
storybook dev -p 9009
--exact-port [number]Attempts to run Storybook on the exact port number specified.
If the port is already in use, Storybook will exit with an error message.
storybook dev --exact-port 9009
-h, --host [string]Host to run Storybook.
storybook dev -h my-host.com
-c, --config-dir [dir-name]Directory where to load Storybook configurations from.
storybook dev -c .storybook
--loglevel [level]Controls level of logging during build.
Available options: silly, verbose, info (default), warn, error, silent
storybook dev --loglevel warn
--httpsServe Storybook over HTTPS. Note: You must provide your own certificate information.
storybook dev --https
--ssl-caProvide an SSL certificate authority. (Optional with --https, required if using a self-signed certificate)
storybook dev --ssl-ca my-certificate
--ssl-certProvide an SSL certificate. (Required with --https)
storybook dev --ssl-cert my-ssl-certificate
--ssl-keyProvide an SSL key. (Required with --https)
storybook dev --ssl-key my-ssl-key
--smoke-testExit after successful start.
storybook dev --smoke-test
--ciCI mode (skip interactive prompts, don't open browser).
storybook dev --ci
--no-openDo not open Storybook automatically in the browser.
storybook dev --no-open
--quietSuppress verbose build output.
storybook dev --quiet
--debugOutputs more logs in the CLI to assist debugging.
storybook dev --debug
--debug-webpackDisplay final webpack configurations for debugging purposes.
storybook dev --debug-webpack
--stats-json [dir-name]Write stats JSON to disk.
Requires Webpack
storybook dev --stats-json /tmp/stats
--no-version-updatesSkips Storybook's update check.
storybook dev --no-version-updates
--docsStarts Storybook in documentation mode. Learn more about it in here.
storybook dev --docs
--initial-path [path]Configures the URL Storybook should open when it opens the browser for the first time.
storybook dev --initial-path=/docs/getting-started--docs
--preview-url [path]Overrides the default Storybook preview with a custom built preview URL.
storybook dev --preview-url=http://localhost:1337/external-iframe.html
--force-build-previewForcefully builds Storybook's preview iframe.
Useful if you're experiencing issues, or combined with --preview-url to ensure the preview is up-to-date.
storybook dev --force-build-preview
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
storybook dev --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
storybook dev --enable-crash-reports

With the release of Storybook 8, the -s CLI flag was removed. We recommend using the static directory instead if you need to serve static files.

build

Compiles your Storybook instance so it can be deployed. It should be run from the root of your project.

storybook build [options]

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook build --help
-V, --versionOutput the version number.
storybook build -V
-o, --output-dir [dir-name]Directory where to store built files.
storybook build -o /my-deployed-storybook
-c, --config-dir [dir-name]Directory where to load Storybook configurations from.
storybook build -c .storybook
--loglevel [level]Controls level of logging during build.
Available options: silly, verbose, info (default), warn, error, silent.
storybook build --loglevel warn
--quietSuppress verbose build output.
storybook build --quiet
--debugOutputs more logs in the CLI to assist debugging.
storybook build --debug
--debug-webpackDisplay final webpack configurations for debugging purposes.
storybook build --debug-webpack
--stats-json [dir-name]Write stats JSON to disk.
Requires Webpack
storybook build --stats-json /tmp/stats
--docsBuilds Storybook in documentation mode. Learn more about it in here.
storybook build --docs
--testOptimize Storybook's production build for performance and tests by removing unnecessary features with the test option. Learn more here.
storybook build --test
--preview-url [path]Overrides the default Storybook preview with a custom built preview URL.
storybook build --preview-url=http://localhost:1337/external-iframe.html
--force-build-previewForcefully builds Storybook's preview iframe.
Useful if you're experiencing issues, or combined with --preview-url to ensure the preview is up-to-date.
storybook build --force-build-preview
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
storybook build --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
storybook build --enable-crash-reports

init

We recommend create-storybook for new projects. The init command will remain available for backwards compatibility.

Installs and initializes the specified version (e.g., @latest, @8, @next) of Storybook into your project. If no version is specified, the latest version is installed. Read more in the installation guide.

storybook[@version] init [options]

For example, storybook@8.4 init will install Storybook 8.4 into your project.

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook init --help
-b, --builderDefines the builder to use for your Storybook instance.
storybook init --builder webpack5
-f, --forceForcefully installs Storybook into your project, prompting you to overwrite existing files.
storybook init --force
-s, --skip-installSkips the dependency installation step. Used only when you need to configure Storybook manually.
storybook init --skip-install
-t, --typeDefines the framework to use for your Storybook instance.
storybook init --type solid
-y, --yesSkips interactive prompts and automatically installs Storybook per specified version, including all features.
storybook init --yes
--features [...values]Use these features when installing, skipping the prompt. Supported values are docs and test, space separated.
storybook init --features docs test
--package-managerSets the package manager to use when installing Storybook.
Available package managers include npm, yarn, and pnpm.
storybook init --package-manager pnpm
--use-pnpEnables Plug'n'Play support for Yarn. This option is only available when using Yarn as your package manager.
storybook init --use-pnp
-p, --parserSets the jscodeshift parser.
Available parsers include babel, babylon, flow, ts, and tsx.
storybook init --parser tsx
--debugOutputs more logs in the CLI to assist debugging.
storybook init --debug
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
storybook init --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
storybook init --enable-crash-reports
--no-devComplete the initialization of Storybook without running the Storybook dev server.
storybook init --no-dev

add

Installs a Storybook addon and configures your project for it. Read more in the addon installation guide.

storybook add [addon] [options]

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook add --help
-c, --config-dirDirectory where to load Storybook configurations from.
storybook migrate --config-dir .storybook
--package-managerSets the package manager to use when installing the addon.
Available package managers include npm, yarn, and pnpm.
storybook add [addon] --package-manager pnpm
-s, --skip-postinstallSkips post-install configuration. Used only when you need to configure the addon yourself.
storybook add [addon] --skip-postinstall
--debugOutputs more logs in the CLI to assist debugging.
storybook add --debug

remove

Deletes a Storybook addon from your project. Read more in the addon installation guide.

storybook remove [addon] [options]

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook remove --help
--package-managerSets the package manager to use when removing the addon.
Available package managers include npm, yarn, and pnpm.
storybook remove [addon]--package-manager pnpm
--debugOutputs more logs in the CLI to assist debugging.
storybook remove --debug
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
storybook remove --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
storybook remove --enable-crash-reports

upgrade

Upgrades your Storybook instance to the specified version (e.g., @latest, @8, @next). Read more in the upgrade guide.

storybook[@version] upgrade [options]

For example, storybook@latest upgrade --dry-run will perform a dry run (no actual changes) of upgrading your project to the latest version of Storybook.

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook upgrade --help
-c, --config-dirDirectory where to load Storybook configurations from.
storybook upgrade --config-dir .storybook
-n, --dry-runChecks for version upgrades without installing them.
storybook upgrade --dry-run
-s, --skip-checkSkips the migration check step during the upgrade process.
storybook upgrade --skip-check
-y, --yesSkips interactive prompts and automatically upgrades Storybook to the latest version.
storybook upgrade --yes
-f,--forceForce the upgrade, skipping autoblockers check.
storybook upgrade --force
--package-managerSets the package manager to use when upgrading Storybook.
Available package managers include npm, yarn, and pnpm.
storybook upgrade --package-manager pnpm
--debugOutputs more logs in the CLI to assist debugging.
storybook upgrade --debug
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
storybook upgrade --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
storybook upgrade --enable-crash-reports

migrate

Runs the provided codemod to ensure your Storybook project is compatible with the specified version. Read more in the migration guide.

storybook[@version] migrate [codemod] [options]

The command requires the codemod name (e.g., csf-2-to-3) as an argument to apply the necessary changes to your project. You can find the list of available codemods by running storybook migrate --list.

For example, storybook@latest migrate csf-2-to-3 --dry-run, checks your project to verify if the codemod can be applied without making any changes, providing you with a report of which files would be affected.

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook migrate --help
-c, --config-dirDirectory where to load Storybook configurations from.
storybook migrate --config-dir .storybook
-n, --dry-runVerify the migration exists and show the files to which it will be applied.
storybook migrate --dry-run
-l, --listShows a list of available codemods.
storybook migrate --list
-g, --globGlob for files upon which to apply the codemods.
storybook migrate --glob src/**/*.stories.tsx
-p, --parserSets the jscodeshift parser.
Available parsers include babel, babylon, flow, ts, and tsx.
storybook migrate --parser tsx
-r, --rename [from-to]Renames the files affected by the codemod to include the provided suffix.
storybook migrate --rename ".js:.ts"
--debugOutputs more logs in the CLI to assist debugging.
storybook migrate --debug

automigrate

Perform standard configuration checks to determine if your Storybook project can be automatically migrated to the specified version. Read more in the migration guide.

storybook[@version] automigrate [fixId] [options]

For example, storybook@latest automigrate --dry-run scans your project for potential migrations that can be applied automatically without making any changes.

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook automigrate --help
-c, --config-dirDirectory where to load Storybook configurations from.
storybook automigrate --config-dir .storybook
-n, --dry-runChecks for available migrations without applying them.
storybook automigrate --dry-run
-s, --skip-installSkip installing dependencies whenever applicable.
storybook automigrate --skip-install
-y, --yesApplies available migrations automatically without prompting for confirmation.
storybook automigrate --yes
-l, --listShows a list of available automigrations.
storybook automigrate --list
--package-managerSets the package manager to use when running the auto migration.
Available package managers include npm, yarn, and pnpm.
storybook automigrate --package-manager pnpm
--rendererSpecifies Storybook's renderer to use when running the automigration.
Useful for monorepo environments where multiple Storybook instances can exist in the same project.
storybook automigrate --renderer vue
--debugOutputs more logs in the CLI to assist debugging.
storybook automigrate --debug
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
storybook automigrate --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
storybook automigrate --enable-crash-reports

doctor

Performs a health check on your Storybook project for common issues (e.g., duplicate dependencies, incompatible addons or mismatched versions) and provides suggestions on how to fix them. Applicable when upgrading Storybook versions.

storybook doctor [options]

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook doctor --help
-c, --config-dirDirectory where to load Storybook configurations from.
storybook doctor --config-dir .storybook
--package-managerSets the package manager to use when running the health check.
Available package managers include npm, yarn, and pnpm.
storybook doctor --package-manager pnpm
--debugOutputs more logs in the CLI to assist debugging.
storybook doctor --debug

info

Reports useful debugging information about your environment. Helpful in providing information when opening an issue or a discussion.

storybook info

Example output:

Storybook Environment Info:
 
  System:
    OS: macOS 14.2
    CPU: (8) arm64 Apple M3
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.19.0 - ~/.nvm/versions/node/v18.19.0/bin/node
    npm: 10.2.3 - ~/.nvm/versions/node/v18.19.0/bin/npm <----- active
  Browsers:
    Chrome: 120.0.6099.199
  npmPackages:
    @storybook/addon-essentials: ^7.6.6 => 7.6.6
    @storybook/addon-interactions: ^7.6.6 => 7.6.6
    @storybook/addon-onboarding: ^1.0.10 => 1.0.10
    @storybook/blocks: ^7.6.6 => 7.6.6
    @storybook/preset-create-react-app: ^7.6.6 => 7.6.6
    @storybook/react: ^7.6.6 => 7.6.6
    @storybook/react-webpack5: ^7.6.6 => 7.6.6
    @storybook/test: ^7.6.6 => 7.6.6
    storybook: ^7.6.6 => 7.6.6
  npmGlobalPackages:
    chromatic: ^10.2.0 => 10.2.0

sandbox

Generates a local sandbox project using the specified version (e.g., @latest, @8, @next) for testing Storybook features based on the list of supported frameworks. Useful for reproducing bugs when opening an issue or a discussion.

storybook[@version] sandbox [framework-filter] [options]

For example, storybook@next sandbox will generated sandboxes using the newest pre-release version of Storybook.

The framework-filter argument is optional and can filter the list of available frameworks. For example, storybook@next sandbox react will only offer to generate React-based sandboxes.

Options include:

OptionDescription
-h, --helpOutput usage information.
storybook sandbox --help
-o, --output [dir-name]Configures the location of the sandbox project.
storybook sandbox --output /my-sandbox-project
--no-initGenerates a sandbox project without initializing Storybook.
storybook sandbox --no-init
--debugOutputs more logs in the CLI to assist debugging.
storybook sandbox --debug
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
storybook sandbox --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
storybook sandbox --enable-crash-reports

If you're looking for a hosted version of the available sandboxes, see storybook.new.

create-storybook

To streamline the process of creating a new Storybook project, a separate CLI called create-storybook is provided. Package managers such as npm, pnpm, and Yarn will execute this command when running create storybook. You can specify a version (e.g., @latest, @8, @next) or it will default to the latest version. Read more in the installation guide.

create storybook[@version] [options]

For example, create storybook@8.6 will install Storybook 8.6 into your project.

Options include:

OptionDescription
-h, --helpOutput usage information.
create storybook --help
-b, --builderDefines the builder to use for your Storybook instance.
create storybook --builder webpack5
-f, --forceForcefully installs Storybook into your project, prompting you to overwrite existing files.
create storybook --force
-s, --skip-installSkips the dependency installation step. Used only when you need to configure Storybook manually.
create storybook --skip-install
-t, --typeDefines the framework to use for your Storybook instance.
create storybook --type solid
-y, --yesSkips interactive prompts and automatically installs Storybook per specified version, including all features.
create storybook --yes
--features [...values]Use these features when installing, skipping the prompt. Supported values are docs and test, space separated.
create storybook --features docs test
--package-managerSets the package manager to use when installing Storybook.
Available package managers include npm, yarn, and pnpm.
create storybook --package-manager pnpm
--use-pnpEnables Plug'n'Play support for Yarn. This option is only available when using Yarn as your package manager.
create storybook --use-pnp
-p, --parserSets the jscodeshift parser.
Available parsers include babel, babylon, flow, ts, and tsx.
create storybook --parser tsx
--debugOutputs more logs in the CLI to assist debugging.
create storybook --debug
--disable-telemetryDisables Storybook's telemetry. Learn more about it here.
create storybook --disable-telemetry
--enable-crash-reportsEnables sending crash reports to Storybook's telemetry. Learn more about it here.
create storybook --enable-crash-reports
--no-devComplete the initialization of Storybook without running the Storybook dev server.
create storybook --no-dev