microsoft/vscode · error · Error
Invalid tool name "${tool.name}": only alphanumeric characte
Error message
Invalid tool name "${tool.name}": only alphanumeric characters, hyphens, and underscores are allowed. What it means
Error "Invalid tool name "${tool.name}": only alphanumeric characters, hyphens, and underscores are allowed." thrown in microsoft/vscode.
Source
Thrown at extensions/copilot/src/extension/conversation/vscode-node/languageModelAccess.ts:996
name: message.name,
toolCalls: message.content
.filter(part => part instanceof vscode.LanguageModelToolCallPart)
.map(part => part as vscode.LanguageModelToolCallPart)
.map(part => ({ function: { name: part.name, arguments: JSON.stringify(part.input) }, id: part.callId, type: 'function' })),
};
break;
default:
return 0;
}
return endpoint.acquireTokenizer().countMessageTokens(raw);
}
}
private validateTools(tools: readonly vscode.LanguageModelChatTool[]): void {
for (const tool of tools) {
if (!tool.name.match(/^[\w-]+$/)) {
throw new Error(`Invalid tool name "${tool.name}": only alphanumeric characters, hyphens, and underscores are allowed.`);
}
}
}
private async countToolTokens(endpoint: IChatEndpoint, tools: readonly vscode.LanguageModelChatTool[]): Promise<number> {
return await endpoint.acquireTokenizer().countToolTokens(tools);
}
private validateRequest(_messages: Array<vscode.LanguageModelChatMessage | vscode.LanguageModelChatMessage2>): void {
const lastMessage = _messages.at(-1);
if (!lastMessage) {
throw new Error('Invalid request: no messages.');
}
_messages.forEach((message, i) => {
if (message.role === vscode.LanguageModelChatMessageRole.Assistant) {
// Filter out DataPart since it does not share the same value type and does not have callId, function, etc.
const filteredContent = message.content.filter(part => part instanceof vscode.LanguageModelDataPart);View on GitHub (pinned to a94b963a32)
When it happens
Trigger: Thrown at extensions/copilot/src/extension/conversation/vscode-node/languageModelAccess.ts:996 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of microsoft/vscode@a94b963a32 (2026-08-12).
Data as JSON: /api/errors/7845da8b4f2e4d43.
Report an issue: GitHub.