diff --git a/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts b/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts index 5fa22b41096..9739bea4d99 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts +++ b/ui/litellm-dashboard/src/app/(dashboard)/hooks/router/useRouterFields.ts @@ -21,13 +21,18 @@ export interface RouterFieldsResponse { const routerFieldsKeys = createQueryKeys("routerFields"); const deriveErrorMessage = (errorData: any): string => { - return ( + const raw = (errorData?.error && (errorData.error.message || errorData.error)) || errorData?.message || errorData?.detail || errorData?.error || - JSON.stringify(errorData) - ); + JSON.stringify(errorData); + // Backend often returns { detail: { error: "..." } }; avoid showing [object Object] + if (typeof raw === "object" && raw !== null) { + const msg = raw.error ?? raw.message; + return typeof msg === "string" ? msg : JSON.stringify(raw); + } + return String(raw); }; const getRouterFields = async (accessToken: string): Promise => { diff --git a/ui/litellm-dashboard/src/components/mcp_tools/create_mcp_server.tsx b/ui/litellm-dashboard/src/components/mcp_tools/create_mcp_server.tsx index a3e27fb68fa..f14d4031d25 100644 --- a/ui/litellm-dashboard/src/components/mcp_tools/create_mcp_server.tsx +++ b/ui/litellm-dashboard/src/components/mcp_tools/create_mcp_server.tsx @@ -305,7 +305,13 @@ const CreateMCPServer: React.FC = ({ onCreateSuccess(response); } } catch (error) { - NotificationsManager.fromBackend("Error creating MCP Server: " + error); + const message = + error instanceof Error + ? error.message + : typeof error === "object" && error !== null && "error" in error + ? String((error as { error: unknown }).error) + : String(error); + NotificationsManager.fromBackend("Error creating MCP Server: " + message); } finally { setIsLoading(false); } diff --git a/ui/litellm-dashboard/src/components/networking.tsx b/ui/litellm-dashboard/src/components/networking.tsx index ca4c16a781f..d95c058aa40 100644 --- a/ui/litellm-dashboard/src/components/networking.tsx +++ b/ui/litellm-dashboard/src/components/networking.tsx @@ -8690,13 +8690,18 @@ export const perUserAnalyticsCall = async ( }; export const deriveErrorMessage = (errorData: any): string => { - return ( + const raw = (errorData?.error && (errorData.error.message || errorData.error)) || errorData?.message || errorData?.detail || errorData?.error || - JSON.stringify(errorData) - ); + JSON.stringify(errorData); + // Backend often returns { detail: { error: "..." } }; avoid showing [object Object] + if (typeof raw === "object" && raw !== null) { + const msg = raw.error ?? raw.message; + return typeof msg === "string" ? msg : JSON.stringify(raw); + } + return String(raw); }; export interface LoginRequest {