{"record":{"id":"5a203ec87f61dfcd","repo":"huggingface/smolagents","slug":"unsupported-model-type-model-type","errorCode":null,"errorMessage":"Unsupported model type: {model_type}","messagePattern":"Unsupported model type: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"src/smolagents/cli.py","lineNumber":216,"sourceCode":"            api_base=api_base or \"https://api.fireworks.ai/inference/v1\",\n            model_id=model_id,\n        )\n    elif model_type == \"LiteLLMModel\":\n        return LiteLLMModel(\n            model_id=model_id,\n            api_key=api_key,\n            api_base=api_base,\n        )\n    elif model_type == \"TransformersModel\":\n        return TransformersModel(model_id=model_id, device_map=\"auto\")\n    elif model_type == \"InferenceClientModel\":\n        return InferenceClientModel(\n            model_id=model_id,\n            token=api_key or os.getenv(\"HF_API_KEY\"),\n            provider=provider,\n        )\n    else:\n        raise ValueError(f\"Unsupported model type: {model_type}\")\n\n\ndef run_smolagent(\n    prompt: str,\n    tools: list[str],\n    model_type: str,\n    model_id: str,\n    api_base: str | None = None,\n    api_key: str | None = None,\n    imports: list[str] | None = None,\n    provider: str | None = None,\n    action_type: str = \"code\",\n) -> None:\n    load_dotenv()\n\n    model = load_model(model_type, model_id, api_base=api_base, api_key=api_key, provider=provider)\n\n    available_tools = []","sourceCodeStart":198,"sourceCodeEnd":234,"githubUrl":"https://github.com/huggingface/smolagents/blob/30bb1161095dbae2271e6bc3cc4c219cc3897a57/src/smolagents/cli.py#L198-L234","documentation":"Raised by load_model in the smolagents CLI when the --model-type argument does not match any of the supported backends (e.g. OpenAI, LiteLLM, Transformers, Hugging Face API). The dispatcher checks known model types and falls through to this ValueError for anything unrecognized. It is purely an input-validation error, not a model or network problem.","triggerScenarios":"Running `smolagent --model-type <invalid>` (e.g. a typo like 'openaai', 'anthropic' when unsupported in this version, or a new backend name not yet in the CLI dispatch chain). Any value that doesn't match the exact strings handled before the else branch in load_model.","commonSituations":"Typos in --model-type, expecting a provider supported elsewhere in the library but not wired into the CLI loader, or version drift where model type names changed between smolagents releases.","solutions":["Check the exact supported --model-type values in smolagents/cli.py load_model and correct the argument (e.g. 'openai', 'litellm', 'transformers', 'huggingface').","If you need another provider, use LiteLLM as the model type since it proxies many providers, or instantiate the model programmatically instead of via the CLI.","Upgrade smolagents — newer releases may add the backend you want."],"exampleFix":"# before\nsmolagent --model-type gpt --prompt \"hi\"\n# after\nsmolagent --model-type openai --model-id gpt-4o-mini --prompt \"hi\"","handlingStrategy":"validation","validationCode":"SUPPORTED = {'openai','litellm','transformers','huggingface'}\nimport sys\nif sys.argv[sys.argv.index('--model-type')+1] not in SUPPORTED: sys.exit(f'model-type must be one of {SUPPORTED}')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Print the CLI help / read load_model for the exact supported model types before scripting.","Pin the smolagents version so supported backend lists don't drift."],"tags":["cli","model-config","input-validation","smolagents"],"backgroundTag":"invalid-argument-value","analyzedSha":"30bb1161095dbae2271e6bc3cc4c219cc3897a57","analyzedAt":"2026-08-28T18:52:54.169Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}