{"record":{"id":"345e48f7965c43db","repo":"eyaltoledano/claude-task-master","slug":"missing-parameter-345e48","errorCode":"MISSING_PARAMETER","errorMessage":"The id parameter is required for scoping up tasks","messagePattern":"The id parameter is required for scoping up tasks","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"mcp-server/src/core/direct-functions/scope-up.js","lineNumber":68,"sourceCode":"\t\t\tlog.error('scopeUpDirect called without tasksJsonPath');\n\t\t\tdisableSilentMode(); // Disable before returning\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: {\n\t\t\t\t\tcode: 'MISSING_ARGUMENT',\n\t\t\t\t\tmessage: 'tasksJsonPath is required'\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t// Check required parameters\n\t\tif (!id) {\n\t\t\tlog.error('Missing required parameter: id');\n\t\t\tdisableSilentMode();\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: {\n\t\t\t\t\tcode: 'MISSING_PARAMETER',\n\t\t\t\t\tmessage: 'The id parameter is required for scoping up tasks'\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t// Parse task IDs - convert to numbers as expected by scopeUpTask\n\t\tconst taskIds = id.split(',').map((taskId) => parseInt(taskId.trim(), 10));\n\n\t\tlog.info(\n\t\t\t`Scoping up tasks: ${taskIds.join(', ')}, strength: ${strength}, research: ${research}`\n\t\t);\n\n\t\t// Call the scopeUpTask function\n\t\tconst result = await scopeUpTask(\n\t\t\ttasksJsonPath,\n\t\t\ttaskIds,\n\t\t\tstrength,\n\t\t\tcustomPrompt,","sourceCodeStart":50,"sourceCodeEnd":86,"githubUrl":"https://github.com/eyaltoledano/claude-task-master/blob/c0c98d367c55296bfe69e65680625b6db437af02/mcp-server/src/core/direct-functions/scope-up.js#L50-L86","documentation":"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.","triggerScenarios":"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.","commonSituations":"MCP client argument construction bugs; prompts where the model forgot the task id; testing the tool with a partial payload.","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"],"exampleFix":"// before\nawait client.callTool('scope-up', { tasksJsonPath: './.taskmaster/tasks.json' });\n// after\nawait client.callTool('scope-up', { tasksJsonPath: './.taskmaster/tasks.json', id: '2' });","handlingStrategy":"validation","validationCode":"if (!args?.id) throw new Error('scope-up requires a task id');","typeGuard":"function hasId(args) { return typeof args?.id === 'string' ? args.id.length > 0 : typeof args?.id === 'number'; }","tryCatchPattern":"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; }","preventionTips":["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"],"tags":["mcp","validation","missing-parameter"],"backgroundTag":"missing-required-parameter","analyzedSha":"c0c98d367c55296bfe69e65680625b6db437af02","analyzedAt":"2026-08-29T02:56:26.071Z","schemaVersion":2},"datasetVersion":"2026-08-29T07:17:48.351Z"}