Skip to Content
Prism UI
Reference

Troubleshooting

Real error messages you may encounter, and what each one actually means.

"No package.json found in <dir>. Run prismrepo init first."

prismrepo add (and most commands) require prism.json to already exist. Run prismrepo init first.

"<path> already exists and wasn't installed by prismrepo (no hash marker found)."

A file already exists at the destination prismrepo add would write to, and it has no Prism content-hash marker, meaning it wasn't installed by the CLI. Remove it first if you want Prism's version, or re-run with --force to overwrite it. See Generated Files.

"<path> has been edited since it was installed, prismrepo will not overwrite it."

The installed file's current content doesn't match its stored hash marker, you (or a tool) edited it after install. This is expected, protective behavior, not a bug: review the differences manually, or re-run with --force only if you actually want to discard the edits.

A field component's extra props aren't inferred correctly

Check whether the component's parameter is annotated with FieldComponentProps<...> written out inline, versus through a separately-declared type Props = FieldComponentProps<...> used as the annotation. The latter breaks inference, see Custom Fields.

createZodResolver fails to compile against my Zod schema

Confirm you're on Zod ^4.0.0, not Zod 3. createZodResolver's type constraint is built against Zod 4's two-parameter ZodType<Output, Input> shape; a Zod 3 schema's three-parameter shape does not satisfy it, see Zod Adapter.

A nested field path (address.street) won't compile in defineForm

Not currently supported. Flatten the value shape instead, see Advanced Usage.

usePrismRegistry throws PrismConfigurationError

It's called outside a PrismProvider. Either wrap the component tree in one, or, if you're inside a form, use form.registry directly (returned by usePrismForm) instead, a PrismProvider is a convenience, not a requirement for forms.

I see npx prism-ui or @prism-ui/* somewhere

Those are Prism's pre-release working names. The published packages are scoped under @prismrepo, and the CLI's command is prismrepo. If you find a reference to the old names anywhere in this documentation, it's a bug, please report it.

On this page