{"record":{"id":"6b857800da18b3df","repo":"BerriAI/litellm","slug":"at-least-one-of-input-policy-or-output-policy-must","errorCode":null,"errorMessage":"At least one of input_policy or output_policy must be provided","messagePattern":"At least one of input_policy or output_policy must be provided","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/management_endpoints/tool_management_endpoints.py","lineNumber":665,"sourceCode":"            if not ok:\n                raise HTTPException(\n                    status_code=500,\n                    detail=f\"Failed to update policy override for tool '{data.tool_name}'\",\n                )\n            registry = get_tool_policy_registry()\n            if registry.is_initialized():\n                await registry.sync_tool_policy_from_db(prisma_client)\n            return ToolPolicyUpdateResponse(\n                tool_name=data.tool_name,\n                input_policy=data.input_policy,\n                output_policy=data.output_policy,\n                updated=True,\n                team_id=data.team_id,\n                key_hash=data.key_hash,\n            )\n\n        if data.input_policy is None and data.output_policy is None:\n            raise HTTPException(\n                status_code=400,\n                detail=\"At least one of input_policy or output_policy must be provided\",\n            )\n\n        updated: Final = await db_update_tool_policy(\n            prisma_client=prisma_client,\n            tool_name=data.tool_name,\n            updated_by=user_api_key_dict.user_id,\n            input_policy=data.input_policy,\n            output_policy=data.output_policy,\n        )\n        if updated is None:\n            raise HTTPException(\n                status_code=500,\n                detail=f\"Failed to update policy for tool '{data.tool_name}'\",\n            )\n        registry = get_tool_policy_registry()\n        if registry.is_initialized():","sourceCodeStart":647,"sourceCodeEnd":683,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/tool_management_endpoints.py#L647-L683","documentation":"Error \"At least one of input_policy or output_policy must be provided\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/tool_management_endpoints.py:665 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide at least one of input_policy or output_policy in the request."],"exampleFix":null,"handlingStrategy":null,"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-14T00:17:10.932Z"}