Skip to content

Applies to CLI v2.7.1Last updated

Error catalog

Troubleshooting

Find the message the CLI printed, then apply the fix. Values in <angle brackets> differ per run. Start with npx create-fsd-architecture@latest doctor: it checks Node.js, Git, your package manager, and the project layout in one go. Exit codes are listed in the CLI reference.

Node.js and toolchain

Node.js >=22.12.0 is required by the CLI (found 20.x). Upgrade Node.js to satisfy the supported runtime range before running this command.

Cause
The running Node.js is older than the CLI or the selected framework needs. Nuxt and SvelteKit need 22.22.2 or later.
Fix
Install a supported Node.js (for example with nvm install 22), open a new shell, and check node --version. See Compatibility for each framework.

Unsupported package manager "<name>".

Cause
--package-manager or fsd.config.json names something other than npm, pnpm, yarn, or bun.
Fix
Use one of npm, pnpm, yarn, or bun. doctor also reports when the installed version is below the minimum.

Creating a project

--framework is required when using --yes (for example, --framework react-vite).

Cause
--yes skips every prompt, including the template choice.
Fix
Add --framework react-vite, nextjs, vue-vite, nuxt, or sveltekit, and pass a project name.

A project name is required when using --yes.

Cause
Non-interactive mode cannot ask for the name.
Fix
Pass the name first: create-fsd-architecture my-app --framework react-vite --yes.

"<name>" already exists. Re-run with --force to replace it.

Cause
The target directory is not empty.
Fix
Choose another name, or pass --force to replace it. --force rolls back automatically if creation fails.

Project directory must be created inside the current directory.

Cause
The name contains .. or an absolute path.
Fix
cd to the parent folder first and pass a plain or nested relative name such as apps/web.

Cannot download template <repo> at pinned commit <ref>: <reason>

Cause
The CLI fetches the pinned template commit with git over HTTPS, and Git is missing or github.com is unreachable (offline, proxy, or firewall).
Fix
Check that git --version works and that you can reach https://github.com. Behind a proxy, set git config --global http.proxy, then retry.

Dependency installation failed; project changes were rolled back.

Cause
The package manager exited with an error, usually network, registry auth, or an engines mismatch.
Fix
Read the package manager output printed below the message. Retry with --no-install to inspect the project, then install manually.

Generating slices

Invalid type "<type>". Allowed types: feature, entity, widget, page.

Cause
The first argument after -g is not a layer the generator supports.
Fix
Use feature, entity, widget, page, or shared. app and shared accept only --segments.

"<path>" already exists. Re-run with --force to replace it.

Cause
A slice with that name is already in the layer.
Fix
Pick another name or pass --force for a single slice. Review with --dry-run first.

Batch generation does not support --force; replace one reviewed slice at a time.

Cause
Several names were passed together with --force.
Fix
Run one command per slice you intend to overwrite.

Slice name must start with a letter after normalization (for example, product-123).

Cause
The name starts with a digit or contains only symbols.
Fix
Use letters, numbers, and dashes, starting with a letter.

Place generate options after --generate.

Cause
Flags such as --dry-run came before -g.
Fix
Write -g <type> <names...> first, then the flags.

Structure-only segments

--root requires --segments (structure-only generation).

Cause
--root only applies to the structure-only mode.
Fix
Add --segments ui,api (or the segments you need).

Segments must be comma-separated lowercase names (for example ui,api,model).

Cause
Segments were passed with spaces or uppercase letters.
Fix
Pass one argument: --segments ui,api,model.

--segments cannot be combined with --force or --auth-provider.

Cause
Structure-only mode never overwrites files and generates no auth code.
Fix
Drop --force and --auth-provider from structure-only commands.

For shared/app use --segments without slice names.

Cause
shared and app have no slices.
Fix
Run -g shared --segments ui,lib without a name.
Cause
A target folder is a symlink; the CLI refuses to write through it.
Fix
Replace the symlink with a real directory or choose another --root.

Supabase auth adapter

--auth-provider supabase is only valid for feature auth.

Cause
The flag was used with another slice.
Fix
Run -g feature auth --auth-provider supabase.

Configure the browser Supabase Auth client before submitting a form.

Cause
Generated forms ran before configureSupabaseAuth(client) was called.
Fix
Call configureSupabaseAuth with a browser client at app start. See Feature status for the setup snippet.

check, doctor, and architecture checks

Install steiger and @feature-sliced/steiger-plugin in this project before using --architecture. No packages are downloaded automatically.

Cause
check --architecture runs the project's own Steiger.
Fix
npm install -D steiger @feature-sliced/steiger-plugin, add a Steiger config, and run the check again.

Steiger architecture validation failed (<status>).

Cause
Steiger found layer or public-API violations.
Fix
Fix the reported imports, or adjust the rules in your Steiger config. The command exits non-zero so CI fails.

Unsupported fsd.config.json schemaVersion: <version>.

Cause
The config was written by a newer CLI.
Fix
Run the latest CLI with npx create-fsd-architecture@latest.

Upgrades

--check cannot be combined with --yes or --no-install.

Cause
--check is read-only and never applies changes.
Fix
Use upgrade --check in CI and upgrade --yes locally.

Upgrade failed: <reason> Affected source, configuration, manifest, and lockfile paths were rolled back.

Cause
A migration step or the dependency install failed.
Fix
Nothing was left half-applied. Fix the reason shown, review upgrade --dry-run, and apply again.

upgrade --check exits with code 3

Cause
CLI-owned files were customized, so the plan has conflicts.
Fix
Run upgrade --dry-run to list the conflicting files and resolve them manually.

Still stuck?

Open an issue on GitHub with the full command, the output, and the result of doctor.

Support FSD CLI

If FSD CLI helps you build, consider supporting its development and documentation. Donations are optional.

GitHub Sponsors (opens in a new tab)Buy Me a Coffee (opens in a new tab)

InstaPay · Egypt

ashrafmo-1

للدعم من مصر عبر إنستا باي. تأكد من بيانات المستلم قبل تأكيد التحويل.