microsoft/vscode · error · Error
Invalid request: Tool call part must be followed by a User m
Error message
Invalid request: Tool call part must be followed by a User message with a LanguageModelToolResultPart with a matching callId.
What it means
Error "Invalid request: Tool call part must be followed by a User message with a LanguageModelToolResultPart with a matching callId." thrown in microsoft/vscode.
Source
Thrown at extensions/copilot/src/extension/conversation/vscode-node/languageModelAccess.ts:1023
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);
const toolCallIds = new Set(filteredContent
.filter(part => part instanceof vscode.LanguageModelToolCallPart)
.map(part => part.callId));
let nextMessageIdx = i + 1;
const errMsg = 'Invalid request: Tool call part must be followed by a User message with a LanguageModelToolResultPart with a matching callId.';
while (toolCallIds.size > 0) {
const nextMessage = _messages.at(nextMessageIdx++);
if (!nextMessage || nextMessage.role !== vscode.LanguageModelChatMessageRole.User) {
throw new Error(errMsg);
}
nextMessage.content.forEach(part => {
if (!(part instanceof vscode.LanguageModelToolResultPart2 || part instanceof vscode.LanguageModelToolResultPart)) {
throw new Error(errMsg);
}
toolCallIds.delete(part.callId);
});
}
}
});
}
}
function or(...checks: ((value: unknown) => boolean)[]): (value: unknown) => boolean {
return (value) => checks.some(check => check(value));View on GitHub (pinned to a94b963a32)
When it happens
Trigger: Thrown at extensions/copilot/src/extension/conversation/vscode-node/languageModelAccess.ts:1023 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/9203dbae9607456c.
Report an issue: GitHub.