zed-industries/zed · error
no such grammar {name}
Error message
no such grammar {name} What it means
Raised in get_or_load_grammar: the requested grammar name is not present in the registry's grammars map (no Native, Loaded, LoadFailed, or Loading entry exists), so no load can be started and the waiter immediately receives this error. It means the grammar was never registered — typically the extension providing the tree-sitter grammar is missing, not installed, or the grammar name in the language config doesn't match any registered grammar.
Source
Thrown at crates/language/src/language_registry.rs:788
&& !txs.is_empty()
{
match replacement_id {
Some(replacement_id) => {
let result = match this.load_language(replacement_id).await {
Ok(result) => result,
Err(_) => Err(anyhow!(LanguageNotFound)),
};
match result {
Ok(replacement_language) => {
for tx in txs {
let _ = tx.send(Ok(replacement_language.clone()));
}
}
Err(error) => {
let message = format!("{error:#}");
for tx in txs {
let _ = tx.send(Err(anyhow!(
"failed to load language {language_name}: {message}"
)));
}
}
}
}
None => {
for tx in txs {
let _ = tx.send(Err(anyhow!(LanguageNotFound)));
}
}
}
}
})
.detach();
entry.insert(vec![tx]);
}
}View on GitHub (pinned to 5a9b9558db)
Solutions
- Install or enable the language/grammar extension that registers {name}
- Verify the language config's grammar name matches a registered grammar exactly
- Check that the extension registration path (register_grammar/register_native_grammar) ran before this lookup
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/language/src/language_registry.rs:780 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@5a9b9558db (2026-08-20).
Data as JSON: /api/errors/7e6d7965f369f82b.
Report an issue: GitHub.