eyaltoledano/claude-task-master · error
MISSING_PARAMETER
MISSING_PARAMETER
Error message
The id parameter is required for scoping up tasks
What it means
scopeUpDirect returns this error when the 'id' parameter is missing. Scope-up needs a task or subtask id to know which item to broaden, so the call is rejected with code MISSING_PARAMETER before any parsing occurs.
Source
Thrown at mcp-server/src/core/direct-functions/scope-up.js:68
log.error('scopeUpDirect called without tasksJsonPath');
disableSilentMode(); // Disable before returning
return {
success: false,
error: {
code: 'MISSING_ARGUMENT',
message: 'tasksJsonPath is required'
}
};
}
// Check required parameters
if (!id) {
log.error('Missing required parameter: id');
disableSilentMode();
return {
success: false,
error: {
code: 'MISSING_PARAMETER',
message: 'The id parameter is required for scoping up tasks'
}
};
}
// Parse task IDs - convert to numbers as expected by scopeUpTask
const taskIds = id.split(',').map((taskId) => parseInt(taskId.trim(), 10));
log.info(
`Scoping up tasks: ${taskIds.join(', ')}, strength: ${strength}, research: ${research}`
);
// Call the scopeUpTask function
const result = await scopeUpTask(
tasksJsonPath,
taskIds,
strength,
customPrompt,View on GitHub (pinned to c0c98d367c)
Solutions
- Include the task id (e.g. '2' or '2.1') in the scope-up tool arguments
- Log the exact arguments object sent to the tool to confirm id is present
- Guard the caller so scope-up is only invoked when a task id was selected
Example fix
// before
await client.callTool('scope-up', { tasksJsonPath: './.taskmaster/tasks.json' });
// after
await client.callTool('scope-up', { tasksJsonPath: './.taskmaster/tasks.json', id: '2' }); Defensive patterns
Strategy: validation
Validate before calling
if (!args?.id) throw new Error('scope-up requires a task id'); Type guard
function hasId(args) { return typeof args?.id === 'string' ? args.id.length > 0 : typeof args?.id === 'number'; } Try / catch
try { const r = await callTool('scope-up', args); if (!r.success) throw new Error(`${r.error.code}: ${r.error.message}`); } catch (e) { if (e.message.includes('MISSING_PARAMETER')) { /* obtain task id then retry */ } else throw e; } Prevention
- Select a task in the caller before invoking scope-up
- Use a shared argument builder that asserts id presence
- Keep tool argument names consistent across client code
When it happens
Trigger: Calling the scope-up MCP tool with tasksJsonPath but no id, or id set to empty string/null; agents omitting id after adding a scope parameter.
Common situations: MCP client argument construction bugs; prompts where the model forgot the task id; testing the tool with a partial payload.
Understand the failure class
Background: Missing required parameter errors: what 'X is required' and 'the required X param is missing' mean, and how to fix them — this error's family across 27 libraries.
Related errors
AI-assisted analysis of eyaltoledano/claude-task-master@c0c98d367c (2026-08-29).
Data as JSON: /api/errors/345e48f7965c43db.
Report an issue: GitHub.