tauri-apps/tauri · error · Error::GenericError
permission file not found, please build your application onc
Error message
permission file not found, please build your application once first
What it means
`tauri permission ls` reads the ACL manifest snapshot at `src-tauri/gen/schemas/acl-manifests.json`, which the Tauri build script generates when the app compiles. If that file does not exist, the CLI has no permission data to list and tells you to build once first.
Source
Thrown at crates/tauri-cli/src/acl/permission/ls.rs:156
.deny
.iter()
.map(|c| c.red().to_string())
.collect::<Vec<_>>()
.join(", ")
)
},
));
}
}
if !permissions.is_empty() {
println!("{}\n", permissions.join("\n\n"));
}
}
Ok(())
} else {
crate::error::bail!("permission file not found, please build your application once first")
}
}
View on GitHub (pinned to 52e4b6e71d)
Solutions
- Run `tauri dev` or `tauri build` once so the build script emits `gen/schemas/acl-manifests.json`, then rerun `tauri permission ls`
- If a build was already done, verify `src-tauri/gen/schemas/acl-manifests.json` exists and you are running the command from the project root/src-tauri so paths resolve
- In CI, add a compile step (e.g. `cargo build` in src-tauri) before any `tauri permission ls` step
Defensive patterns
Strategy: validation
Validate before calling
# ensure the generated ACL manifest exists before listing permissions MANIFEST=src-tauri/gen/schemas/acl-manifests.json [ -f "$MANIFEST" ] || cargo tauri build --debug >/dev/null # or `tauri dev` once tauri permission ls
Prevention
- Compile once (`tauri dev` or `tauri build`) in onboarding steps before permission inspection
- Do not gitignore-then-delete `src-tauri/gen/` if your workflow lists permissions; treat it as build output to regenerate, not preserve
- In CI, run a cargo build step before `tauri permission ls`
When it happens
Trigger: Running `tauri permission ls` in a freshly cloned or freshly scaffolded project that has never been compiled with `tauri dev`/`tauri build`; or after deleting/ignoring the `gen/schemas` output directory.
Common situations: New contributors cloning a repo where `src-tauri/gen` is gitignored (it is generated output); inspecting permissions before the first build; CI pipelines that try to audit permissions without a prior compile step.
Related errors
- invalid permission {p}
- Permission already exists at {}
- Couldn't find capabilities directory at {}
- You did not select any capabilities to update
- Could not find a capability to update
AI-assisted analysis of tauri-apps/tauri@52e4b6e71d (2026-08-20).
Data as JSON: /api/errors/3c042ecb5b231ac5.
Report an issue: GitHub.