CrewAI runs inside a Python process — you read the log when it's over. LiveGraph puts the same crew on a canvas that stays live while it runs.
This one is a translation, not an import — there's no file importer for CrewAI, and your crew isn't a file anyway. The path:
crew.jsonc/agent configs, or the Python where agents, tasks, and the process are declared.| CrewAI | LiveGraph |
|---|---|
| Agent (role, goal, backstory) | Worker node — role and goal become the node's role and prompt; model picked per node, any provider |
| Task (description, expected_output) | The node's job and handoff contract — what it does and what the next node receives |
| Process.sequential | explicit edges — the fixed chain, visible on the canvas |
| Process.hierarchical + manager | A router/dispatcher node — auto edges where it picks the next specialist |
| Flow @listen / @router steps | Edges and router nodes — the same fan-out, drawn where you can see it |
| Human-in-the-loop flags | Approval gates — the run parks at /approvals with the pending payload visible |
| Custom tools (Python functions) | Rewired per node as MCP servers with an exact-name allowlist, http_request, or file access |
A crew running in a process is a black box until it finishes — you get verbose logs after the fact and a re-run if a hop went wrong. On LiveGraph the run executes on the canvas: you watch each hop as it happens, a run parks at an approval gate until a person says yes, and dragging an edge mid-run steers the run you're watching instead of restarting it. Prompt edits don't need a deploy, and the person on call doesn't need the repo.
Create an account, paste your simplest crew's config into the describe box, and run it once — or watch the live demo first: a real multi-agent graph running in your browser, no signup.