mlflow/mlflow · error · MlflowException
Argument '{arg_name}' is unsupported for models in the Unity
Error message
Argument '{arg_name}' is unsupported for models in the Unity Catalog. What it means
The Unity Catalog model registry does not support certain model registry API arguments (e.g. registry-level tags or stage-based arguments). _raise_unsupported_arg is invoked via _require_arg_unspecified when a caller passes an argument that the UC registry cannot honor. An optional extra message is appended explaining alternatives.
Source
Thrown at mlflow/store/_unity_catalog/registry/rest_store.py:223
catalog_name: str
schema_name: str
remaining_filter: str | None
def _require_arg_unspecified(arg_name, arg_value, default_values=None, message=None):
default_values = [None] if default_values is None else default_values
if arg_value not in default_values:
_raise_unsupported_arg(arg_name, message)
def _raise_unsupported_arg(arg_name, message=None):
messages = [
f"Argument '{arg_name}' is unsupported for models in the Unity Catalog.",
]
if message is not None:
messages.append(message)
raise MlflowException(" ".join(messages))
def _raise_unsupported_method(method, message=None):
messages = [
f"Method '{method}' is unsupported for models in the Unity Catalog.",
]
if message is not None:
messages.append(message)
raise MlflowException(" ".join(messages))
def _load_model(local_model_dir):
# Import Model here instead of in the top level, to avoid circular import; the
# mlflow.models.model module imports from MLflow tracking, which triggers an import of
# this file during store registry initialization
from mlflow.models.model import Model
try:View on GitHub (pinned to 6a27f2decc)
Solutions
- Remove the unsupported argument from the call and use UC-native equivalents (aliases instead of stages)
- Read the appended extra message in the error for the suggested UC alternative
- Split client code paths so workspace registry calls and UC registry calls use different argument sets
Example fix
// before client.transition_model_version_stage(name="m", version="1", stage="Production") // after client.set_registered_model_alias(name="m", alias="Production", version="1")
Defensive patterns
Strategy: validation
Validate before calling
UNSUPPORTED_UC_ARGS = {"stage", "tags"}
def check_uc_args(**kwargs):
bad = UNSUPPORTED_UC_ARGS & set(kwargs)
if bad:
raise ValueError(f"Arguments {bad} unsupported for Unity Catalog registry") Try / catch
try:
client.create_model_version(name, source, **extra_args)
except MlflowException as e:
if "is unsupported for models in the Unity Catalog" in str(e):
client.create_model_version(name, source)
else:
raise Prevention
- Branch client code on registry type (databricks-uc vs workspace)
- Use aliases instead of stages in all new code
- Read the appended message in the error for suggested UC alternatives
When it happens
Trigger: Calling UC registry operations like create_model_version, search_model_versions, or transition calls while passing unsupported arguments (e.g. stage, tags) to a UnityCatalogRegistryRestStore.
Common situations: Reusing workspace-registry client code against a UC registry URI (databricks-uc); copying old scripts that set stage-based arguments; libraries that always populate optional registry arguments.
Related errors
- UC Model Versions gathered through search_model_versions do
- UC Model Versions gathered through search_model_versions do
- UC Registered Models gathered through search_registered_mode
- UC Registered Models gathered through search_registered_mode
- Method '{method}' is unsupported for models in the Unity Cat
AI-assisted analysis of mlflow/mlflow@6a27f2decc (2026-08-29).
Data as JSON: /api/errors/e86a6a8c4d704ed4.
Report an issue: GitHub.