{"record":{"id":"f15940fc02dcfc5c","repo":"BerriAI/litellm","slug":"agent-agent-id-has-no-agent-card-configured","errorCode":null,"errorMessage":"Agent '{agent_id}' has no agent card configured","messagePattern":"Agent '(.+?)' has no agent card configured","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"litellm/proxy/agent_endpoints/a2a_endpoints.py","lineNumber":550,"sourceCode":"\n    try:\n        agent: Final = _get_agent(agent_id)\n        if agent is None:\n            raise HTTPException(status_code=404, detail=f\"Agent '{agent_id}' not found\")\n\n        # Check agent permission (skip for admin users)\n        is_allowed: Final = await AgentRequestHandler.is_agent_allowed(\n            agent_id=agent.agent_id,\n            user_api_key_auth=user_api_key_dict,\n        )\n        if not is_allowed:\n            raise HTTPException(\n                status_code=403,\n                detail=f\"Agent '{agent_id}' is not allowed for your key/team. Contact proxy admin for access.\",\n            )\n\n        if not agent.agent_card_params:\n            raise HTTPException(\n                status_code=404,\n                detail=f\"Agent '{agent_id}' has no agent card configured\",\n            )\n\n        proxy_url: Final = get_custom_url(str(request.base_url), route=f\"a2a/{agent_id}\")\n        agent_card = deepcopy(agent.agent_card_params)\n        agent_card[\"url\"] = proxy_url\n        interfaces: Final = agent_card.get(\"supportedInterfaces\")\n        if isinstance(interfaces, list) and interfaces:\n            interfaces[0][\"url\"] = proxy_url\n        served_version: Final = _served_version(agent, request)\n        agent_card = normalize_agent_card(agent_card, served_version)\n\n        verbose_proxy_logger.debug(\"Returning agent card for '%s' with proxy URL: %s\", agent_id, proxy_url)\n        return JSONResponse(content=agent_card)\n\n    except HTTPException:\n        raise","sourceCodeStart":532,"sourceCodeEnd":568,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/agent_endpoints/a2a_endpoints.py#L532-L568","documentation":"Raised in the A2A agent-card endpoint when the agent exists and the caller is permitted, but the agent record carries no agent_card_params — it was registered without a card, so there is nothing to serve at /.well-known/agent-card.json. This is a server-side configuration gap (agent defined but no card configured), distinct from 404 not-found and 403 not-allowed in the same handler.","triggerScenarios":"Thrown at litellm/proxy/agent_endpoints/a2a_endpoints.py:550 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Configure an agent card for this agent in the proxy."],"exampleFix":"Add agent card config for the agent.","handlingStrategy":"validation","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"}