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

  1. Include the task id (e.g. '2' or '2.1') in the scope-up tool arguments
  2. Log the exact arguments object sent to the tool to confirm id is present
  3. 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

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.