eyaltoledano/claude-task-master · warning
Warning: Configuration file not found at derived root (${roo
Error message
Warning: Configuration file not found at derived root (${rootToUse}). Using defaults. What it means
Similar to the explicit-root warning, but for a derived (auto-detected) root: if the derived directory looks like a Task Master project (contains a .taskmaster directory or legacy .taskmasterconfig marker) but no actual config file is present, Task Master warns it is falling back to defaults. It only fires when project markers exist, avoiding noise for unrelated directories.
Source
Thrown at scripts/modules/config-manager.js:249
if (explicitRoot) {
// Warn about explicit root not having config
console.warn(
chalk.yellow(
`Warning: Configuration file not found at provided project root (${explicitRoot}). Using default configuration. Run 'task-master models --setup' to configure.`
)
);
} else {
// Don't warn about missing config during initialization
// Only warn if this looks like an existing project (has .taskmaster dir or legacy config marker)
const hasTaskmasterDir = fs.existsSync(
path.join(rootToUse, TASKMASTER_DIR)
);
const hasLegacyMarker = fs.existsSync(
path.join(rootToUse, LEGACY_CONFIG_FILE)
);
if (hasTaskmasterDir || hasLegacyMarker) {
console.warn(
chalk.yellow(
`Warning: Configuration file not found at derived root (${rootToUse}). Using defaults.`
)
);
}
}
}
// Keep config as defaults
config = { ...defaults };
configSource = `defaults (no config file found at ${rootToUse})`;
}
return config;
}
/**
* Gets the current configuration, loading it if necessary.
* Handles MCP initialization context gracefully.View on GitHub (pinned to c0c98d367c)
Solutions
- Create the config with 'task-master models --setup' in that directory.
- Restore the missing .taskmaster/config.json (e.g. remove it from .gitignore or recover from git history).
- Complete a migration from the legacy config: copy/rename legacy .taskmasterconfig content into .taskmaster/config.json.
Example fix
// before .taskmaster/ # exists, but no config.json inside // after .taskmaster/config.json # created via task-master models --setup
Defensive patterns
Strategy: validation
Validate before calling
const fs = require('fs');
const path = require('path');
if (fs.existsSync('.taskmaster') && !fs.existsSync(path.join('.taskmaster', 'config.json'))) {
console.error('Task Master dir exists but config.json is missing — run task-master models --setup');
} Prevention
- Never gitignore .taskmaster/config.json (gitignore credentials separately via .env).
- After migration or init, verify config.json exists before running other commands.
- Regenerate the report/config after cleaning operations that wipe .taskmaster contents.
When it happens
Trigger: findProjectRoot()/root resolution lands on a directory containing .taskmaster/ or a legacy config marker, but .taskmaster/config.json is missing during _loadAndValidateConfig (no explicit root provided, warnings not suppressed, storageType !== 'api').
Common situations: Migration created .taskmaster/ but config.json was deleted or gitignored; a partial 'task-master init'; upgrading from the legacy single-file config where the marker file remains but the new config was never created.
Related errors
- Warning: Configuration file not found at provided project ro
- Warning: Could not find project root to check mcp.json.
- projectRoot is required in args to resolve project paths
- CONFIG_ERROR
- MISSING_CONFIGURATION
AI-assisted analysis of eyaltoledano/claude-task-master@c0c98d367c (2026-08-29).
Data as JSON: /api/errors/456e9094867f16d1.
Report an issue: GitHub.