denoland/deno · error
Unable to convert signature help items: {:#}
Error message
Unable to convert signature help items: {:#} What it means
Signature help (parameter hints inside call parentheses) converts tsc's SignatureHelpItems through into_signature_help; this wraps a conversion failure. It is typically a span/range mapping failure for the active parameter or the call span against the module's current line index — commonly triggered when the document changes while typing a call.
Source
Thrown at cli/lsp/ts_server.rs:1125
trigger_reason: None,
}
};
let signature_help = ts_server
.get_signature_help_items(
snapshot.clone(),
module,
module.line_index.offset_tsc(position)?,
options,
token,
)
.await?;
signature_help
.map(|signature_help| {
signature_help.into_signature_help(module, &snapshot, token)
})
.transpose()
.map_err(|err| {
anyhow!("Unable to convert signature help items: {:#}", err)
})
}
}
}
pub async fn provide_will_rename_files(
&self,
file_renames: &[lsp::FileRename],
language_server: &language_server::Inner,
snapshot: Arc<StateSnapshot>,
token: &CancellationToken,
) -> Result<Option<lsp::WorkspaceEdit>, AnyError> {
match self {
Self::Js(ts_server) => {
let mut changes_with_modules = IndexMap::new();
for rename in file_renames {
let Some(document) = snapshot
.document_modulesView on GitHub (pinned to 9ad36f7a2c)
Solutions
- Keep typing or re-trigger hint display — the next request usually succeeds after positions resync.
- Save the file if parameter hints stay broken for a call site.
- Run "Deno: Restart Language Server" and update Deno if it persists.
Defensive patterns
Strategy: fallback
Try / catch
// Signature help is optional UI: on conversion failure show nothing
// rather than erroring the request.
async function signatureHelpSafe(client, params) {
try {
return await client.sendRequest('textDocument/signatureHelp', params);
} catch (err) {
if (String(err?.message).includes('signature help items')) {
return null; // hints re-appear on the next keystroke's request
}
throw err;
}
} Prevention
- Expect occasional missed parameter hints during fast typing; the next request recovers
- Save if hints stay broken for one call site
- Restart the language server and update Deno if signature help fails persistently
When it happens
Trigger: A textDocument/signatureHelp request while typing a call where converting the returned items fails — stale document positions from rapid keystrokes, or an unexpected item shape from the embedded tsc version.
Common situations: Fast typing inside function calls with parameter hints enabled; intermittent failures that vanish on the next keystroke's request.
Related errors
- Error getting navigation tree for "{}": {:#}
- Unable to convert fix: {:#}
- Unable to get refactor info from TypeScript: {:#}
- Unable to convert refactor info: {:#}
- Unable to get organize imports edit from TypeScript: {:#}
AI-assisted analysis of denoland/deno@9ad36f7a2c (2026-08-20).
Data as JSON: /api/errors/68384ddadd02af2b.
Report an issue: GitHub.