When I first encountered the “The inferred type of ‘meta’ cannot be named without a reference to…” message in Storybook, I was caught off guard. I wanted a quick solution that would keep my TypeScript checks happy and my Storybook setup running smoothly. After a bit of trial and error, I discovered a simple fix that anyone can implement.
Thank me by sharing on Twitter 🙏
The inferred type of ‘meta’ cannot be named without a reference to ‘@storybook/test/node_modules/@vitest/spy’. This is likely not portable. A type annotation is necessary.
1. Spotting the Problem
I noticed that the error showed up whenever I used the satisfies Meta<typeof Kiosk> approach in my stories. TypeScript decided to infer everything about meta in a way that pulled in references to internal types from @vitest/spy, which caused unwanted complexity.
2. Removing the Culprit
To resolve this issue, I removed the satisfies syntax. Instead of allowing TypeScript to infer the type in a way that caused the error, I switched to explicitly annotating my meta object.
3. Using a Direct Annotation
I replaced:
The Coming Wave: AI, Power, and Our Future
$17.72 (as of April 17, 2026 22:38 GMT +00:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)WOLFBOX MegaFlow 50 Compressed Air Duster-110000RPM Super Power Electric Air Duster, 3-Gear Adjustable Mini Blower with Fast Charging, Dust Blower for Computer, Keyboard, House, Outdoor and Car
$39.99 (as of April 17, 2026 06:38 GMT +00:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Start with Why: How Great Leaders Inspire Everyone to Take Action
$10.93 (as of April 17, 2026 22:38 GMT +00:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)const meta = {
...
} satisfies Meta<typeof MyComponent>;<br>with:
const meta: Meta<typeof MyComponent> = {
...
};This direct annotation stopped TypeScript from inferring references to extra types and got rid of the error message.
Conclusion
By swapping out satisfies for a straightforward type annotation, I resolved the inference issue and kept my Storybook stories functioning as intended. This small change made my setup cleaner and more predictable. I hope this helps anyone struggling with a similar error.



I wonder if you have explicit `vitest` dependencies in your project. For us, the error started popping up just after replacing our Jest tests with Vitest and thus adding an explicit `vitest` (Version 3) dependency, while Storybook used version 2 internally (with version 8).
Unfortunately, replacing the `satisifies` syntax with a direct type annotation did not really work out for us since we are using the spread syntax or direct references to args in `meta` a lot in our stories, which yields a lot of `this could be undefined` errors that we would need to handle even though we know it is always there.
We were able to fix this issue by migrating Storybook to version 9, which also uses `vitest` in version 3 internally.
this approach doesn’t surface errors when required types are lacking in args