Should I upgrade to Storybook 8 to 9 Upgrade now?

Plan the major-version upgrade path for teams that want Storybook 9 testing features without breaking existing addon and framework integrations.

Stage the rollout by upgrading internal and critical addons first, unless your app already meets Storybook 9.1 floors and addon compatibility is confirmed.

Blockers

Who this is for

Candidates

Stay on Storybook 8.x until framework and addon blockers are cleared

As of 2026-04-03, Storybook's official 8.x-to-9.1 migration guide explicitly says teams should continue using Storybook 8.x if Storybook 9 requirements or breaking changes are blockers. This is the lowest-risk path for stacks that still depend on Node 18, Angular below 18, Next.js below 14, Svelte below 5, Vite below 5, Vitest below 3, or community addons that have not been updated. It preserves existing addon and framework behavior, but it delays adoption of Storybook 9's built-in testing experience.

When to choose

Use this when compatibility risk is more important than new testing features, especially in monorepos with many community addons or older framework baselines. The decisive factor is whether any Storybook 9 ecosystem floor or builder removal would force unrelated platform upgrades.

Tradeoffs

Lowest migration risk and least immediate coordination work, but you give up Storybook 9 testing improvements and postpone package cleanup.

Cautions

The Storybook docs call out community addon compatibility as a common post-upgrade failure point and recommend removing non-`@storybook` addons first when debugging 9.x issues.

Upgrade app packages to Storybook 9.1 where the stack already meets the new floors

As of 2026-04-03, Storybook's official migration guide is framed as an upgrade from 8.x to 9.1. The guide highlights Storybook Test, component testing, accessibility testing, and test coverage, and recommends `npx storybook@latest upgrade` followed by the `doctor` command for troubleshooting. This path fits teams that already meet the new minimums: Node 20+, TypeScript 4.9+, Angular 18+, Next.js 14+, Svelte 5+, Vite 5+, and Vitest 3+. For React, Vue, and Svelte projects built with Vite, Storybook recommends moving from `test-runner` to `addon-vitest`.

When to choose

Use this when the app already runs on the required runtime and framework versions and most addons are official or confirmed 9-compatible. The decisive factor is that Storybook 9 testing features matter enough to justify the major-version migration now.

Tradeoffs

You get the current testing workflow and official automigrations, but you must absorb package consolidation, renamed testing packages, and any framework-specific builder changes.

Cautions

Storybook 9 removed Webpack builder support for Preact, Vue, and Web Components in favor of Vite. The migration guide also notes that several packages were consolidated into `storybook`, so import paths and dependency declarations change.

Stage the rollout by upgrading internal and critical addons before app Storybooks

For teams with custom or must-have addons, the official addon migration guide recommends moving addon dependencies to the main `storybook` package and updating imports such as `@storybook/manager-api` to `storybook/manager-api`. The guide allows a temporary peer dependency range of `^8.0.0 || ^9.0.0`, but it also recommends releasing a new major version of the addon alongside Storybook 9. This staged approach lets platform teams validate addon compatibility first, then upgrade application Storybooks once the integration surface is ready.

When to choose

Use this when addon breakage is the main upgrade risk, especially for internal addon catalogs or organizations that depend on a few community addons for workflows and docs. The decisive factor is whether addon owners can ship compatibility work ahead of app-team migration.

Tradeoffs

Best control over breakage and rollback scope, but it adds a coordination phase and may delay the app upgrade.

Cautions

The addon guide says `/internal` import paths are not public API and may change without semver guarantees, even within future minor releases. It also notes that manager builder aliases for `util`, `assert`, and `process` were removed, so addon bundling may need explicit fixes.

Facts updated: 2026-04-03
Published: 2026-04-03

Try with your AI agent

$ npm install -g pocketlantern
$ pocketlantern init
# Restart Claude Code, Cursor, or your MCP client, then ask:
# "Should I upgrade to Storybook 8 to 9 Upgrade now?"
Missing something? Request coverage