langflow-ai/langflow · error · Error

Langflow was not able to connect to the server. Please make

Error message

Langflow was not able to connect to the server. Please make sure your connection is working properly.

What it means

500 with a deliberately opaque message for non-MCPComposerError exceptions while starting MCP Composer during install. The real cause is only in the logs ('Failed to start MCP Composer ...' aerror line); the client just sees the generic text.

Source

Thrown at src/frontend/src/customization/utils/custom-poll-build-events.ts:42

): Promise<void> {
  let isDone = false;
  while (!isDone) {
    const response = await fetch(
      `${url}?event_delivery=${EventDeliveryType.POLLING}`,
      {
        method: "GET",
        headers: {
          "Content-Type": "application/json",
          Accept: "application/x-ndjson",
        },
        signal: abortController.signal,
        credentials: getFetchCredentials(),
      },
    );

    if (!response.ok) {
      const errorData = await response.json().catch(() => ({}));
      throw new Error(
        errorData.detail ||
          "Langflow was not able to connect to the server. Please make sure your connection is working properly.",
      );
    }

    const responseText = await response.text();

    if (!responseText.trim()) {
      await new Promise((resolve) => setTimeout(resolve, 100));
      continue;
    }

    const eventLines = responseText.split("\n").filter((line) => line.trim());

    if (eventLines.length === 0) {
      await new Promise((resolve) => setTimeout(resolve, 100));
      continue;
    }

View on GitHub (pinned to 976ec789d2)

Solutions

  1. Match the timestamp of the 500 against server logs to find the exact traceback.
  2. Fix the underlying environmental cause (uvx availability, auth settings completeness, composer port).
  3. Retry install once the composer starts cleanly (check the composer logs).
Defensive patterns

Strategy: try-catch

Try / catch

except httpx.HTTPStatusError as e:
    if e.response.status_code == 500 and "See logs" in e.response.json().get("detail", ""):
        request_server_logs(since=seconds_ago(30))  # client cannot self-diagnose this one

Prevention

When it happens

Trigger: Same install flow as above but the failure is an unexpected exception type: OSError spawning the subprocess, KeyError on missing auth fields, httpx errors reaching the composer endpoint.

Common situations: PATH issues hiding uvx; auth_settings missing oauth_host/oauth_port keys; transient network failure to the composer's local HTTP port.

Related errors


AI-assisted analysis of langflow-ai/langflow@976ec789d2 (2026-08-14). Data as JSON: /api/errors/089146d0e938cba7. Report an issue: GitHub.