- How do I install kiritokatklian/nova-permission in a Laravel Nova app?
- Install it with Composer (composer require kiritokatklian/nova-permission) alongside spatie/laravel-permission, then register the tool class shipped by the package in the tools() array of app/Nova/NovaServiceProvider.php. Check the README for the exact tool class name and any policy or config registration steps. Because it is a thin UI over Spatie's tables, run Spatie's migrations and seed at least one role before opening the tool.
- Which Laravel Nova versions does nova-permission support?
- The package targets Laravel Nova 4 or 5 in its current assumed support matrix, but the composer.json for laravel/nova is the real contract, not the release notes. Nova's internal component and endpoint APIs are not a public stability contract, so a Nova major bump is the most likely hard break vector. Read the constraint before upgrading Nova and pin the package version you have tested.
- Does nova-permission work with spatie/laravel-permission v8?
- Version 5.3.0 adds support for a newer Spatie major, including v8, which removes the old objection that the tool was pinned to a stale authorization library. What is not settled by the release notes is whether the composer constraint was widened to include v6, v7 and v8 or pivoted to drop older majors in favor of v8. Check the constraint and confirm the team, guard and cache code paths were tested against every major you still support.
- Do I need a paid Laravel Nova license to use this package?
- Yes. Nova is a paid, closed-source product with major-version licensing, and this package is only a tool that lives inside a Nova admin panel. If Nova is already in your stack the marginal cost is near zero; if it is not, this package alone cannot justify buying a Nova license. It adds no value outside a Nova installation.
- Does nova-permission replace spatie/laravel-permission or just add a UI?
- It is a UI layer only. Roles, permissions and their pivot tables remain owned by spatie/laravel-permission, and the tool introduces no second source of truth and plays no runtime role in request authorization. That thinness is an asset when upgrading, because there is little to reimplement, and a liability when upstream semantics shift, because there is little buffer.
- What are alternatives to using nova-permission for role management in Nova?
- You can manage roles entirely through Spatie's API, seeders or Artisan commands and skip a Nova UI altogether, or build your own small Nova resources and policies over the Spatie models. Other community Nova permission tools exist, but most follow the same pattern of wrapping Spatie's tables. This package's selling point is that it stays minimal and delegates authorization to Spatie.
- Does nova-permission invalidate the Spatie permission cache after role changes?
- Mutations made through the tool flow through Spatie's models and API, so the permission cache invalidation behavior should follow Spatie's own implementation. The open question is whether that still holds on v8, where cache keys or internals may have changed. If you rely on cached permissions, verify empirically that a role change in the Nova UI is reflected immediately in authorization checks.
- Can I restrict which roles or permissions a non-super-admin can assign in Nova?
- The tool ships policy support so you can limit who may view or assign roles and permissions, typically with a super-admin bypass. That authorization model is separate from Spatie's runtime checks and has historically allowed restricting non-super-admins via policy. Re-test the privilege-escalation surface after any Nova or Spatie major upgrade, since silently relaxed policies are hard to notice.
- Will nova-permission migrations or config collide with Spatie's tables on a fresh install?
- The tool is a front-end and controller layer over Spatie's roles, permissions and pivot tables, so it generally does not own that schema. Publish Spatie's migrations and config first, then confirm whether this package publishes anything that touches the same tables. On a fresh install, check the package's publish tags before running migrations to avoid duplicate table creation.
- Is nova-permission actively maintained, and how does it handle Nova or Spatie breaking changes?
- The 5.3.0 release, which included a merged PR from a first-time outside contributor, is evidence the maintainer reviews and merges work rather than leaving the project frozen. That said, the bus factor is still one, and with roughly 79 stars and no dependents there is little production evidence or secondary bug reporting to catch regressions. No formal support window appears to be stated, so treat Nova and Spatie major bumps as best-effort and pin versions with your own upgrade tests.