eyaltoledano/claude-task-master · warning
Rule profile for "${profile}" not found. Valid profiles: ${R
Error message
Rule profile for "${profile}" not found. Valid profiles: ${RULE_PROFILES.join(', ')}. Skipping. What it means
When running `task-master rules` with --add/--remove, each requested profile is validated against the known RULE_PROFILES list. Unknown profile names are skipped with this console.warn and processing continues with the remaining profiles.
Source
Thrown at scripts/modules/commands.js:4607
expandedProfiles,
installedProfiles
);
} else {
confirmed = await confirmProfilesRemove(expandedProfiles);
}
}
if (!confirmed) {
console.log(chalk.yellow('Aborted: No rules were removed.'));
return;
}
}
const removalResults = [];
const addResults = [];
for (const profile of expandedProfiles) {
if (!isValidProfile(profile)) {
console.warn(
`Rule profile for "${profile}" not found. Valid profiles: ${RULE_PROFILES.join(', ')}. Skipping.`
);
continue;
}
const profileConfig = getRulesProfile(profile);
if (action === RULES_ACTIONS.ADD) {
console.log(chalk.blue(`Adding rules for profile: ${profile}...`));
const mode = await getOperatingMode(options.mode);
const addResult = convertAllRulesToProfileRules(
projectRoot,
profileConfig,
{ mode }
);
console.log(
chalk.blue(`Completed adding rules for profile: ${profile}`)
);
View on GitHub (pinned to c0c98d367c)
Solutions
- Use one of the listed valid profiles from the warning message
- Run `task-master rules --help` to see supported profiles
- Upgrade or downgrade task-master if the profile is only in another version
Example fix
// before task-master rules add cursorroo // after task-master rules add roo,cursor
Defensive patterns
Strategy: validation
Validate before calling
const RULE_PROFILES = ['cursor','claude','vscode','windsurf','roo','codex','gemini','amazonq','auggie','zed'];
const profiles = args.add?.split(',') ?? [];
const invalid = profiles.filter(p => !RULE_PROFILES.includes(p));
if (invalid.length) throw new Error(`Invalid rule profiles: ${invalid.join(', ')}`); Type guard
const isValidProfile = (p) => RULE_PROFILES.includes(p);
Prevention
- Check `task-master rules --help` for the current profile list
- Copy profile names exactly from the warning output
- Pin task-master versions in CI to match documented profiles
When it happens
Trigger: `task-master rules add <profiles>` or `task-master rules remove <profiles>` with a profile name not in RULE_PROFILES (e.g. 'claude' vs 'claude-code', misspellings, or profiles from a newer/older version).
Common situations: Typo in profile name; following outdated docs or blog posts; using a profile that exists in a different task-master version.
Understand the failure class
Background: Invalid option value errors: "must be one of", "is not a valid", and "only allows" failures explained — this error's family across 23 libraries.
Related errors
- Warning: Could not determine default model for role '${role}
- Rule profile for "${profile}" not found. Valid profiles: ${R
- MFA_VERIFICATION_FAILED
- MFA_VERIFICATION_FAILED
- Command execution error: ${result.error.message}
AI-assisted analysis of eyaltoledano/claude-task-master@c0c98d367c (2026-08-29).
Data as JSON: /api/errors/2541afedb813f892.
Report an issue: GitHub.