diff --git a/.gitignore b/.gitignore index 90242bcb..0365c123 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,7 @@ xcuserdata/ # directory, so the site files can be re-included. /docs/* !/docs/index.html +!/docs/compare.html !/docs/shortcuts.md !/docs/_config.yml !/docs/_layouts/ diff --git a/docs/_config.yml b/docs/_config.yml index 8586aac3..0158aa24 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -9,3 +9,6 @@ cloudflare_analytics_token: # The username in your Buttondown account URL. Fill in only once the account exists — # the embed endpoint 404s for an unregistered username and the subscriber is lost. buttondown_username: + +plugins: + - jekyll-sitemap diff --git a/docs/compare.html b/docs/compare.html new file mode 100644 index 00000000..9d26ef52 --- /dev/null +++ b/docs/compare.html @@ -0,0 +1,391 @@ +--- +title: GraphCode vs Conductor vs Vibe Kanban vs Claude Squad +description: A sourced, side-by-side comparison of Claude Code orchestrators — platform, backends, parallelism model, what runs unattended, live attach, session survival across reboot, licence and price. Every competitor cell cites that project's own README or site. +--- + + + + + +{% seo %} + + + + +{% include head-custom.html %} + + + + + + +
+
+
+
Claude Code orchestrators · sourced 12 Sep 2026
+

GraphCode vs Conductor vs Vibe Kanban vs Claude Squad

+

Eight questions people ask before they pick a tool for running several Claude Code sessions at once, answered for each project from its own README or site. Superset, Emdash and Sculptor, the other names in the same roundups, follow in a second table.

+

Method: every competitor cell is taken from that project's own README, docs or pricing page, fetched on 12 September 2026, and cites it. Where a source does not answer a question the cell says so. No adjectives about anyone, no star counts. The GraphCode column states what the shipped code does, with the source files linked at the bottom.

+
+
+ +
+

The four in the title

+

Read the rows as questions: where does it run, which agents can it drive, what is the unit of parallelism, what happens with nobody watching, can you step into a running session, what survives a reboot, what licence, what price.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
QuestionGraphCodeConductorVibe KanbanClaude Squad
PlatformNative macOS app, macOS 15+ on Apple Silicon. A launchd daemon (graphcoded) and a CLI (graphcode) share one socket with the app. Projects can also live on a remote host over SSH, with the Mac steering them.macOS app.1 iOS is listed as "soon", alongside an HTTP API.2 Cloud workspaces run in Vercel sandboxes in us-east-1.3Started with npx vibe-kanban; the UI opens in the browser.4 Can be self-hosted with Docker.5Terminal UI. Requires tmux and the GitHub CLI; installed with Homebrew or a shell script.6
Backends supportedClaude Code, GitHub Copilot CLI, Codex CLI and OpenCode, chosen per loop (--backend). At least one of those CLIs must be on your PATH; GraphCode launches whichever a loop names and bundles none of them.Claude Code, Codex, Cursor and OpenCode.27Claude Code, OpenAI Codex, GitHub Copilot, Gemini CLI, Amp, Cursor Agent CLI, OpenCode, Factory Droid, Claude Code Router and Qwen Code.8Claude Code by default; Codex, Gemini and Aider are documented, and any program can be launched with -p.6
Parallelism modelA graph. Each node is a loop (goal, time, turn, sketch or composite) with its own live terminal; edges between nodes are hand-offs, messages or spawns. A loop can be bound to a git worktree the app creates and later reclaims, but the unit of parallelism is the node, not the branch.One git worktree and branch per workspace.9 Several agents can share one workspace on the same branch, in separate tabs.10Kanban issues become workspaces; creating a workspace makes a git worktree for each selected repository, and a workspace can hold several agent sessions.411One tmux session and one git worktree per task, each on its own branch.6
What fires unattendedThe daemon starts goal-based and time-based loops and keeps them alive with nobody watching. When a loop resolves it fires that loop's hand-off, message and spawn edges, and it polls a goal's shell predicate. A time-based loop's cadence is written into its own prompt (/loop 1h …); the daemon itself schedules nothing. Codex and OpenCode have no /loop skill, so a time-based loop on them needs the experimental Daemon heartbeat switched on in Settings.Routines run agents on a schedule or from a GitHub Action; they run in the cloud and are available on Pro and Team plans.12 A Codex "goal" keeps a local session working across turns.7 Cloud workspaces keep running when the app is closed.3Agents run when you create a workspace.4 No scheduler or hand-off between workspaces is described in the README or the docs fetched.511Sessions complete tasks in the background; an experimental --autoyes flag auto-accepts prompts. No scheduler or hand-off is described.6
Live attach mid-runClick a node to open the running session's actual terminal, rendered with GhosttyKit over its zmx PTY, and type into it. graphcode node send types a message into any loop from the CLI, so one loop can steer another.A chat panel per agent session plus a workspace terminal ("Big Terminal Mode").7 Multiplayer lets teammates prompt a shared cloud workspace together in real time.1Chat interface in the browser with an integrated terminal per workspace.11 Remote access from another device pairs through the cloud service.13 or o attaches to the selected tmux session to reprompt; ctrl-q detaches.6
Session survival across rebootEach loop's terminal is a zmx session, so it survives quitting the app and restarting the daemon. After a reboot, reopening GraphCode reloads its open projects and the daemon relaunches their unattended loops, each resuming its saved session id (Claude Code and Copilot CLI with --resume, Codex with resume <id>, OpenCode with --session <id>) instead of starting a duplicate.Local sessions terminate when the machine shuts off or the app is closed; cloud workspace sessions continue.3Not stated in the README or docs fetched.511Sessions are tmux sessions; c pauses one and r resumes it. Behaviour across a reboot is not stated.6
LicenceFSL-1.1-MIT for the app and daemon. MIT for GraphcodeKit and the CLI, so scripts and integrations never need to read a licence.Proprietary. Client-side software is licensed under the Terms of Service for the subscription period.14Apache-2.0.15AGPL-3.0.616
PriceFree. There is no paid tier.Free at $0 with local workspaces. Pro $50/month adds cloud workspaces, multiplayer and the API. Teams $60 per user/month. Enterprise is custom.3The pricing page lists Free at $0 and Pro at $30 per user/month.17 On 10 April 2026 the company announced it was shutting down: subscriptions were terminated, remote services (issues, comments, projects, organisations) end after 30 days, and the project continues as community-maintained open source.18Free. No pricing page.616
+
+
+ +
+

Also in the roundups: Superset, Emdash, Sculptor

+

The same eight questions for the three other tools the orchestration roundups name, with the GraphCode column repeated so nothing has to be scrolled back to.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
QuestionGraphCodeSupersetEmdashSculptor
PlatformNative macOS app, macOS 15+ on Apple Silicon, with a launchd daemon and a CLI. Remote projects over SSH.macOS app, Apple Silicon or Intel. A Linux x64 AppImage ships with each release as experimental; Windows is not yet available.19Desktop app for macOS (Apple Silicon and Intel), Windows, and Linux x64 and ARM64.20Desktop app for Mac (Apple Silicon), Linux and Linux ARM64.21
Backends supportedClaude Code, GitHub Copilot CLI, Codex CLI and OpenCode, chosen per loop; at least one must be on your PATH.Claude Code, Codex, Gemini CLI, Copilot, OpenCode, Cursor Agent, Amp, Droid, Devin and others listed in its docs.22Claude Code, Codex, Cursor, OpenCode, Amp, Devin, Qwen Code, Droid and GitHub Copilot; installed CLIs are detected automatically.20Claude Code and the Pi harness are integrated; any terminal-based agent can be run and managed.21
Parallelism modelA graph of loops joined by hand-off, message and spawn edges; each node is its own live session. A loop may be bound to a git worktree.One git worktree per workspace, each with its own branch, terminal and environment.23One git worktree and branch per task.20A git worktree per workspace by default; clone and container modes are under Settings › Experimental.24
What fires unattendedThe daemon keeps goal- and time-based loops running, fires edges when a loop resolves, and polls goal predicates. Cadence lives in the loop's prompt; Codex and OpenCode loops, which have no /loop skill, need the experimental daemon heartbeat instead.Automations run an agent session against a project on a schedule; a Pro feature.2325Its site lists "schedule repeat work".26 The README fetched does not describe the scheduler.20Not described in the README fetched.21
Live attach mid-runClick a node for the running session's real terminal; graphcode node send from the CLI or another loop.Built-in terminal per workspace with tabs and splits; workspaces are reachable from another machine or a phone via remote hosts, the CLI, the SDK or MCP.23CLI agents run inside the app, locally or on remote machines over SSH/SFTP.20 Attaching to a running agent is not described in the README fetched.Chat UI plus a built-in terminal scoped to the workspace.21
Session survival across rebootzmx keeps the PTY across app and daemon restarts; after a reboot, reopening GraphCode relaunches the unattended loops of its open projects, each resuming its saved session id.Terminal sessions survive app restarts: running processes continue and scrollback is kept.27 Behaviour across a reboot is not stated.Lifecycle hooks in the agent's config give status tracking and resumable sessions.20 Behaviour across a reboot is not stated.An interrupted turn survives a quit or crash of Sculptor, and pending questions survive an app reload.28 Behaviour across a reboot is not stated.
LicenceFSL-1.1-MIT for the app and daemon; MIT for GraphcodeKit and the CLI.Elastic License 2.0.23Apache-2.0.20MIT.29
PriceFree. No paid tier.Free at $0 for one user with local workspaces. Pro $20 per user/month, or $15 billed yearly, adds remote access and automations. Enterprise is custom.30Free; its site answers "Is it free?" with "Yes. Emdash is open source and free to use."26Free downloads; the README lists no price.21
+
+
+ +
+

Sources

+

All fetched on 12 September 2026. If a project has changed since, its own page wins; open an issue on the GraphCode repo and the row gets corrected.

+
    +
  1. conductor.build, home page.
  2. +
  3. conductor.build/docs, Introduction, and Install.
  4. +
  5. conductor.build/pricing, plans and the Cloud FAQ.
  6. +
  7. vibekanban.com/docs/getting-started.
  8. +
  9. github.com/BloopAI/vibe-kanban, README.
  10. +
  11. github.com/smtg-ai/claude-squad, README.
  12. +
  13. conductor.build/docs/concepts/agent-modes.
  14. +
  15. vibekanban.com/docs/supported-coding-agents.
  16. +
  17. conductor.build/docs/concepts/git-worktrees and workspaces-and-branches.
  18. +
  19. conductor.build/docs/concepts/parallel-agents.
  20. +
  21. vibekanban.com/docs/workspaces, Workspaces Overview.
  22. +
  23. conductor.build/changelog, 0.85.0 "Sections, routines, and a new model picker", 9 September 2026.
  24. +
  25. vibekanban.com/docs/remote-access.
  26. +
  27. conductor.build/terms.
  28. +
  29. github.com/BloopAI/vibe-kanban/blob/main/LICENSE.
  30. +
  31. smtg-ai.github.io/claude-squad.
  32. +
  33. vibekanban.com/pricing.
  34. +
  35. vibekanban.com/blog/shutdown, "Goodbye bloop", 10 April 2026.
  36. +
  37. docs.superset.sh/install, Requirements.
  38. +
  39. github.com/generalaction/emdash, README.
  40. +
  41. github.com/imbue-ai/sculptor, README.
  42. +
  43. docs.superset.sh/agent-integration, Supported Agents.
  44. +
  45. github.com/superset-sh/superset, README.
  46. +
  47. sculptor/docs/help/workspaces.md.
  48. +
  49. docs.superset.sh/automations.
  50. +
  51. emdash.sh, home page and FAQ.
  52. +
  53. docs.superset.sh/terminal-integration, Session Persistence.
  54. +
  55. sculptor/docs/help/integrated_harnesses.md, Lifecycle Management.
  56. +
  57. github.com/imbue-ai/sculptor, repository licence.
  58. +
  59. superset.sh/pricing.
  60. +
+
+ The GraphCode column is drawn from the shipped code rather than from marketing copy: + +
+
+ +
+
+
+

Draw a graph instead of a board.

+

Add a folder, write a goal, connect a second loop with an edge. Then close the app; the loops won't notice.

+ +
$brew install --cask scgopi/graphcode/graphcode
+
+
+
+ + + + + diff --git a/docs/index.html b/docs/index.html index c9234333..ca00bf45 100644 --- a/docs/index.html +++ b/docs/index.html @@ -305,6 +305,7 @@ Workspaces Self-improving Under the hood + Compare Docs