{"record":{"id":"8151cf6bcd37eacb","repo":"BerriAI/litellm","slug":"vertexaifilesconfig-does-not-support-file-listing","errorCode":null,"errorMessage":"VertexAIFilesConfig does not support file listing","messagePattern":"VertexAIFilesConfig does not support file listing","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"litellm/llms/vertex_ai/files/transformation.py","lineNumber":952,"sourceCode":"    ) -> FileDeleted:\n        file_id = \"deleted\"\n        if hasattr(raw_response, \"request\") and raw_response.request:\n            url: Final = str(raw_response.request.url)\n            if \"/b/\" in url and \"/o/\" in url:\n                import urllib.parse\n\n                bucket_part: Final = url.split(\"/b/\")[-1].split(\"/o/\")[0]\n                encoded_name: Final = url.split(\"/o/\")[-1].split(\"?\")[0]\n                file_id = f\"gs://{bucket_part}/{urllib.parse.unquote(encoded_name)}\"\n        return FileDeleted(id=file_id, deleted=True, object=\"file\")\n\n    def transform_list_files_request(\n        self,\n        purpose: str | None,\n        optional_params: dict,\n        litellm_params: dict,\n    ) -> tuple[str, dict]:\n        raise NotImplementedError(\"VertexAIFilesConfig does not support file listing\")\n\n    def transform_list_files_response(\n        self,\n        raw_response: Response,\n        logging_obj: LiteLLMLoggingObj,\n        litellm_params: dict,\n    ) -> list[OpenAIFileObject]:\n        raise NotImplementedError(\"VertexAIFilesConfig does not support file listing\")\n\n    def transform_file_content_request(\n        self,\n        file_content_request,\n        optional_params: dict,\n        litellm_params: dict,\n    ) -> tuple[str, dict]:\n        file_id: Final = file_content_request.get(\"file_id\", \"\")\n        bucket, encoded_object = self._parse_gcs_uri(file_id, litellm_params)\n        url: Final = f\"https://storage.googleapis.com/storage/v1/b/{bucket}/o/{encoded_object}?alt=media\"","sourceCodeStart":934,"sourceCodeEnd":970,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/vertex_ai/files/transformation.py#L934-L970","documentation":"Sentinel from transform_list_files_request: Vertex AI files are stored in caller-configured GCS buckets rather than a LiteLLM-managed index, so there is no provider-side list operation to implement and the unsupported call is rejected.","triggerScenarios":"Triggered when attempting to list files via VertexAIFilesConfig, which does not support file listing.","commonSituations":"See trigger scenarios.","solutions":["Do not call file listing for vertex_ai; query GCS directly to list objects."],"exampleFix":"# use the GCS client to list bucket contents instead.","handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}