- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-26-2026 09:33 AM
The most likely reason is that system.ai grants EXECUTE to all users by default, so you probably hold effective EXECUTE inherited from the schema even without an explicit grant on any model, which is the privilege the API requires. USE CATALOG and USE SCHEMA are parent usage privileges that do not by themselves grant model access. Two checks confirm whether inherited EXECUTE or catalog BROWSE returned the models.
-
Print
full_nameandbrowse_only, then rerun withinclude_browse=False. The List Registered Models API saysinclude_browseadds models the caller can access as selective metadata only, andbrowse_only=Truemarks a result returned through metadata-onlyBROWSE.
for model in w.registered_models.list(
catalog_name="system",
schema_name="ai",
include_browse=True,
):
print(model.full_name, model.browse_only)
The privileges reference separates that metadata discovery from EXECUTE, which loads a registered model for inference.
-
Check effective permissions on the
system.aischema and on a returned model. The Get Effective Permissions API takes securable typeSCHEMAfor the schema andFUNCTIONfor the model, since registered models are a type of function. The schema check surfaces the default all-usersEXECUTEthat inherits to the models; the model check surfaces any direct grant. Databricks documents that all users haveEXECUTEonsystem.aiby default, and administrators can revoke it and grantEXECUTEon selected models instead.
With the same caller and unchanged grants, a model still returned when include_browse=False came through the regular privilege-filtered path, which requires ownership or effective EXECUTE. A model that appears only with include_browse=True and reports browse_only=True came through BROWSE.