Langflow langflow 1.13.0: our test log

Langflow 1.13.0 installed in 19.76 s (1.7 GB) and its backend was healthy 91.5 s after launch, serving 26 starter flows and 416 components.

Tested by us on 2026-10-26. Local open-weight model, not the vendor's hosted models. A smoke test on a CPU-only box, not a benchmark.

Result at a glance

Langflow test record
FieldValue
ResultPassed
Version testedlangflow 1.13.0
Date and time2026-10-26, 09:57 CDT (America/Chicago)
TaskInstall Langflow with uv, start the backend (no UI) with a fresh SQLite database and auto-login, then check GET /health_check, GET /api/v1/version, the list of flows, and the component catalogue. Pass means the server reports healthy and the API answers. No flow was run and no model was used.
Model usednone (no language model involved)
HardwareLinux x86_64 virtual machine (Debian 13), 8 vCPU (Intel Xeon, 1 thread per core), 15 GiB RAM, no GPU
Install19.76 s, 1725 MB (langflow 1.13.0)
Time to healthy91.5 s (shared machine)
Starter flows / components26 / 416

What we found

  • /health_check returned status ok for chat and db after 91.5 s.
  • A fresh database already contained 26 starter flows (for example Text Sentiment Analysis, Social Media Agent, Simple Agent, Multi Agent Flow).
  • The component catalogue returned 416 components in 33 categories in 1.39 s.

What we ran, step by step

Commands run, wall-clock time and exit code
StepWall timeExit codeNotes
Install with uv (cold, no cache)19.76 s0langflow 1.13.0; 1725 MB on disk. A first attempt failed with 'No space left on device' because this machine's disk was full, not because of Langflow; the retry succeeded. Load 13.39.
Task command (start server, probe API)1 min 34 s0Healthy after 91.5 s with load 20.72 (heavily shared machine).
Exact commands (paths shortened)
# Install with uv (cold, no cache)
uv venv -q -p 3.13 work/py/langflow && VIRTUAL_ENV=work/py/langflow uv pip install --no-cache -q langflow && du -sm work/py/langflow | cut -f1 && VIRTUAL_ENV=work/py/langflow uv pip list 2>/dev/null | grep -i -E "^(langflow|langflow) "

# Task command (start server, probe API)
work/py/langflow/bin/langflow run --host 127.0.0.1 --port 7861 --backend-only (driven by tasks3/langflow_task.py)

Raw output (excerpts)

Probe results
{
 "health": [
  200,
  "{\"status\":\"ok\",\"chat\":\"ok\",\"db\":\"ok\"}"
 ],
 "ready_s": 91.5,
 "version": {
  "version": "1.13.0",
  "main_version": "1.13.0",
  "package": "Langflow"
 },
 "flows": 26,
 "flow_names": [
  "Text Sentiment Analysis",
  "Social Media Agent",
  "Simple Agent",
  "Multi Agent Flow",
  "SEO Keyword Generator",
  "Market Research",
  "Sequential Tasks Agents",
  "Blog Writer"
 ],
 "components_s": 1.39,
 "component_categories": 33,
 "component_count": 416
}
The task script (tasks3/langflow_task.py)
import subprocess, time, json, urllib.request, os, sys, signal
env = dict(os.environ, LANGFLOW_CONFIG_DIR="/workspace/tests2/work/langflow-home", LANGFLOW_DATABASE_URL="sqlite:////workspace/tests2/work/langflow-home/lf.db", LANGFLOW_AUTO_LOGIN="true", DO_NOT_TRACK="true", LANGFLOW_DO_NOT_TRACK="true", LANGFLOW_OPEN_BROWSER="false")
t0 = time.perf_counter()
p = subprocess.Popen(["work/py/langflow/bin/langflow", "run", "--host", "127.0.0.1", "--port", "7861", "--backend-only", "--no-open-browser"], env=env, stdout=open("/workspace/tests2/logs/langflow-server.log", "w"), stderr=subprocess.STDOUT, preexec_fn=os.setsid)
def get(path, hdr=None):
    r = urllib.request.Request("http://127.0.0.1:7861" + path, headers=hdr or {})
    with urllib.request.urlopen(r, timeout=10) as x: return x.status, x.read()
res = {}
ready = None
while time.perf_counter() - t0 < 600:
    if p.poll() is not None: res["died"] = p.returncode; break
    try:
        s, b = get("/health_check"); ready = round(time.perf_counter() - t0, 1); res["health"] = [s, b.decode()[:120]]; break
    except Exception: time.sleep(2)
res["ready_s"] = ready
if ready:
    s, b = get("/api/v1/version"); res["version"] = json.loads(b)
    s, b = get("/api/v1/auto_login"); tok = json.loads(b)["access_token"]
    s, b = get("/api/v1/flows/?get_all=true&header_flows=true", {"Authorization": "Bearer " + tok})
    fl = json.loads(b); res["flows"] = len(fl); res["flow_names"] = [f["name"] for f in fl][:8]
    t = time.perf_counter(); s, b = get("/api/v1/all", {"Authorization": "Bearer " + tok}); res["components_s"] = round(time.perf_counter() - t, 2)
    try:
        d = json.loads(b); res["component_categories"] = len(d); res["component_count"] = sum(len(v) for v in d.values())
    except Exception as e: res["components_err"] = str(e)[:100]
os.killpg(os.getpgid(p.pid), signal.SIGTERM)
print("RESULT_JSON " + json.dumps(res))

Gotchas and things that broke

  • The install is large: 1.7 GB on disk, the biggest of the tools in this batch.
  • The server logged an agent-card compliance warning at startup; it did not stop it.

What we did not test

  • Building or running any flow, including a flow that calls a model.
  • The visual editor: we ran the backend only.
  • Langflow's hosted or desktop offerings and deployment.
  • Start-up time on an idle machine: ours was heavily shared.

Reproduce it

Versions change. These commands install whatever is latest on the day you run them unless a version is pinned, so expect different results later. The version we measured is in the table above.

uv venv -p 3.13 .venv && VIRTUAL_ENV=.venv uv pip install langflow
LANGFLOW_AUTO_LOGIN=true .venv/bin/langflow run --backend-only --port 7861
curl http://127.0.0.1:7861/health_check

How to read this test

Every number on this page was measured on this one machine, which also ran other jobs, so timings are indicative and vary run to run. A pass means our small task worked once or as stated, a fail means it did not work as we ran it; neither says how the tool behaves with a vendor's frontier model, on a GPU, or at scale. Where a tool could not run without an account or a GPU, we say so instead of guessing.

See the testing rig for the hardware, the local model and the rules we follow, and the test hub for every other test.

  • n8n: n8n 2.44.6 installed from npm on Node 24 in 1 min 54 s (2,343 packages), imported a three-node workflow from the CLI and executed it: a Code node returned 42 and a request to a local model returned "42".
  • Open WebUI: Open WebUI 0.12.4 installed with uv in 11.6 s (6,977 MB in the virtualenv), was healthy about 11 to 12 s after start, and answered a chat through its API in 0.68 s using a local Ollama model.
  • Flowise: Flowise failed to install from npm on Node 24.22.1 after 106.2 s: the better-sqlite3 native build needed a C++ toolchain this machine lacks.

All test logs · How we test

FAQ

How big is a Langflow install?

About 1.7 GB on disk in a fresh Python 3.13 environment in our run, and it installed in about 20 s with uv.

Sources

Markdown version for agents: /tests/langflow.md