zed-industries/zed · error
Cannot format: prettier is not allowed for language {buffer_
Error message
Cannot format: prettier is not allowed for language {buffer_language:?} What it means
The buffer's language resolved to one for which prettier formatting is explicitly disallowed by configuration/registry, so format() refuses before building params. This is a policy guard: the language is recognized but prettier is not an allowed formatter for it.
Source
Thrown at crates/prettier/src/prettier.rs:364
}
pub async fn format(
&self,
buffer: &Entity<Buffer>,
buffer_path: Option<PathBuf>,
ignore_dir: Option<PathBuf>,
range_utf16: Option<Range<OffsetUtf16>>,
request_timeout: Duration,
cx: &mut AsyncApp,
) -> anyhow::Result<Diff> {
match self {
Self::Real(local) => {
let params = buffer
.update(cx, |buffer, cx| {
let buffer_language = buffer.language().map(|language| language.as_ref());
let language_settings = LanguageSettings::for_buffer(&buffer, cx);
let prettier_settings = &language_settings.prettier;
anyhow::ensure!(
prettier_settings.allowed,
"Cannot format: prettier is not allowed for language {buffer_language:?}"
);
let prettier_node_modules = self.prettier_dir().join("node_modules");
anyhow::ensure!(
prettier_node_modules.is_dir(),
"Prettier node_modules dir does not exist: {prettier_node_modules:?}"
);
let plugin_name_into_path = |plugin_name: &str| {
let prettier_plugin_dir = prettier_node_modules.join(plugin_name);
[
prettier_plugin_dir.join("dist").join("index.mjs"),
prettier_plugin_dir.join("dist").join("index.js"),
prettier_plugin_dir.join("dist").join("plugin.js"),
prettier_plugin_dir.join("src").join("plugin.js"),
prettier_plugin_dir.join("lib").join("index.js"),
prettier_plugin_dir.join("index.mjs"),
prettier_plugin_dir.join("index.js"),View on GitHub (pinned to f4178619ac)
Solutions
- Use the language's native formatter instead of prettier for this file type
- If prettier should be allowed, adjust the language settings that gate prettier availability
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/prettier/src/prettier.rs:364 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/9860dfb4d1015aab.
Report an issue: GitHub.