eyaltoledano/claude-task-master · error
UPDATE_TASKS_CORE_ERROR
UPDATE_TASKS_CORE_ERROR
Error message
error.message || 'Unknown error updating tasks'
What it means
Catch-all for exceptions thrown during the core updateTasks call (after silent mode is enabled). Any thrown error — JSON parse failure, filesystem error, unhandled provider exception — becomes an UPDATE_TASKS_CORE_ERROR result with the error's message, and silent mode is disabled in finally.
Source
Thrown at mcp-server/src/core/direct-functions/update-tasks.js:124
logWrapper.error(
'Core updateTasks function did not return a successful structure.'
);
return {
success: false,
error: {
code: 'CORE_FUNCTION_ERROR',
message:
result?.message ||
'Core function failed to update tasks or returned unexpected result.'
}
};
}
} catch (error) {
logWrapper.error(`Error executing core updateTasks: ${error.message}`);
return {
success: false,
error: {
code: 'UPDATE_TASKS_CORE_ERROR',
message: error.message || 'Unknown error updating tasks'
}
};
} finally {
disableSilentMode(); // Ensure silent mode is disabled
}
}
View on GitHub (pinned to c0c98d367c)
Solutions
- Read the wrapped error.message to identify the root cause
- Validate tasks.json is parseable JSON and writable by the process
- Check AI provider credentials (API key env vars) and connectivity
- Re-run after fixing; the finally block guarantees silent mode is reset so logging works on the next call
Defensive patterns
Strategy: try-catch
Validate before calling
import { accessSync, constants, readFileSync } from 'fs';
function tasksFileHealthy(p) {
try { accessSync(p, constants.W_OK); JSON.parse(readFileSync(p, 'utf8')); return true; } catch { return false; }
} Try / catch
const result = await updateTasksDirect(args, log);
if (!result.success && result.error.code === 'UPDATE_TASKS_CORE_ERROR') {
console.error(`updateTasks threw: ${result.error.message}`);
// check tasks.json validity/permissions and AI provider creds, then retry
} Prevention
- Validate tasks.json parses and is writable before bulk updates
- Ensure AI provider API keys are present in the MCP server env
- Handle transient provider failures with bounded retries/backoff
- The finally block resets silent mode — rely on normal logging after failures to diagnose
When it happens
Trigger: Core updateTasks throws instead of returning gracefully: unreadable/corrupt tasks.json, permission errors writing the file, an AI SDK throwing on network/auth failure, or a bug inside task-manager.
Common situations: tasks.json contains invalid JSON; tasks.json is read-only or locked by another process; missing API key causing the provider SDK to throw; network timeouts during long AI operations.
Related errors
AI-assisted analysis of eyaltoledano/claude-task-master@c0c98d367c (2026-08-29).
Data as JSON: /api/errors/0a4a116a8fa27181.
Report an issue: GitHub.