eyaltoledano/claude-task-master · error
MODEL_NOT_FOUND_NO_HINT
MODEL_NOT_FOUND_NO_HINT
Error message
Model ID "${modelId}" not found in Taskmaster's supported models. If this is a custom model, please specify the provider using --openrouter, --ollama, --bedrock, --azure, --vertex, --lmstudio, --openai-compatible, --gemini-cli, or --codex-cli. What it means
The model ID is a valid non-empty string but was not found in Taskmaster's internal list of known/supported models, and no provider flag (--openrouter, --ollama, --bedrock, etc.) was supplied that would let the library treat it as a custom model. setModel() refuses to guess which provider class to instantiate for an unknown id.
Source
Thrown at scripts/modules/task-manager/models.js:695
// Invalid provider hint - should not happen with our constants
throw new Error(`Invalid provider hint received: ${providerHint}`);
}
}
} else {
// No hint provided (flags not used)
if (modelData) {
// Found internally, use the provider from the internal list
determinedProvider = modelData.provider;
report(
'info',
`Model ${modelId} found internally with provider ${determinedProvider}.`
);
} else {
// Model not found and no provider hint was given
return {
success: false,
error: {
code: 'MODEL_NOT_FOUND_NO_HINT',
message: `Model ID "${modelId}" not found in Taskmaster's supported models. If this is a custom model, please specify the provider using --openrouter, --ollama, --bedrock, --azure, --vertex, --lmstudio, --openai-compatible, --gemini-cli, or --codex-cli.`
}
};
}
}
// --- End of Revised Logic --- //
// At this point, we should have a determinedProvider if the model is valid (internally or custom)
if (!determinedProvider) {
// This case acts as a safeguard
return {
success: false,
error: {
code: 'PROVIDER_UNDETERMINED',
message: `Could not determine the provider for model ID "${modelId}".`
}
};View on GitHub (pinned to c0c98d367c)
Solutions
- Add the provider hint flag matching the backend, e.g. `task-master models --set-main --openrouter vendor/new-model` (or --ollama/--bedrock/--azure/--vertex/--lmstudio/--openai-compatible/--gemini-cli/--codex-cli).
- Check the exact spelling with `task-master models --list` to confirm the supported ids for your installed version.
- Update task-master (`npm i -g task-master-ai@latest`) so its internal model registry includes recently released models.
- Verify provider-specific naming conventions, e.g. OpenRouter needs 'vendor/model' while Bedrock needs the full inference profile id.
Example fix
// before
await setModel('moonshotai/kimi-k2', 'main', projectRoot); // unknown id, no hint
// after
await setModel('moonshotai/kimi-k2', 'main', projectRoot, { providerHint: 'openrouter' });
// or CLI: task-master models --set-main --openrouter moonshotai/kimi-k2 Defensive patterns
Strategy: validation
Validate before calling
import { getAvailableModelsForProvider } from './models.js'; // or list via CLI
// before calling:
const known = getAvailableModelsForProvider?.('openrouter') ?? [];
if (!known.some(m => m.id === modelId) && !providerHint) {
throw new Error(`Unknown model "${modelId}" — pass a provider flag (e.g. --openrouter) for custom models`);
} Try / catch
const res = await setModel(modelId, 'main', projectRoot, options);
if (!res.success && res.error?.code === 'MODEL_NOT_FOUND_NO_HINT') {
// retry with an explicit provider hint for custom models
return setModel(modelId, 'main', projectRoot, { providerHint: 'openrouter' });
} Prevention
- Run `task-master models --list` to confirm the exact id before setting it.
- Always pair custom/unreleased model ids with an explicit provider flag.
- Keep task-master updated so the internal model registry includes new models.
- Copy ids exactly from the provider console, including org prefixes (e.g. 'anthropic/', 'accounts/google/').
When it happens
Trigger: setModel('vendor/new-model', role, root) where the id is absent from the internal MODEL_MAP and no provider hint flag was passed; misspelling a known id (e.g. 'anthropic/claude-sonet-4'); using a model released after your installed task-master version.
Common situations: Newly released LLMs not yet in the installed version's model registry; provider-specific naming slips (missing 'accounts/google/' prefix on Vertex, wrong org slug on OpenRouter); copy-pasted ids from another tool that uses different naming.
Related errors
- Base URL is required for OpenAI-compatible providers. Please
- Invalid provider hint received: ${providerHint}
- ${this.name} API key is required
- ${this.name} Model ID is required
- PROVIDER_UNDETERMINED
AI-assisted analysis of eyaltoledano/claude-task-master@c0c98d367c (2026-08-29).
Data as JSON: /api/errors/a33d410a9bb9b976.
Report an issue: GitHub.