Compare

Others keep agents running. Canon checks the work.

Terminals and runtimes keep your agents alive and visible. Canon puts an approved plan, acceptance criteria, an independent reviewer and a close that refuses by default in your repo, enforced by its CLI. They work side by side.

Built in Partial or different None documented
  canonworkflow harness + Cockpit Herdragent runtime + clients tmuxterminal multiplexer Warpterminal app + agents
The sprint pipeline
Plan approved before code
Yes. Ticket and plan.md, you approve first
None documented
Not its job
Agent planning and task lists, inside the app
Acceptance criteria per task
Yes. acceptance.md, every box checked to close
None documented
Not its job
None documented
Review by an agent with no build history
Yes. Fresh evaluator, Read and Bash only
None documented
Not its job
PR review agents in Factories
Close blocked by a mechanical gate
Yes. The CLI refuses on an unchecked box, missing summary or non-pass verdict. Bypass needs an explicit flag or a recorded waiver
None documented
Not its job
Approval gates in a Factories config
Evidence behind each verdict
Yes. A file:line cite per criterion
None documented
Not its job
Screenshot or video artifacts
Plan-vs-actual receipt
Yes. One row per criterion: delivered, waived, deferred or partial
None documented
Not its job
None documented
Decisions kept in your repo
Yes. .tickets/ markdown, read back at the next start
Sessions persist, decisions are not tracked
Not its job
Conversations stored locally, optional cloud sync
Grades PRs in CI
Yes. sprint-headless runs reviewer, evaluator and security review
None documented
Not its job
PR review in Factories
Running agents
Work survives closing the UI
Browser tab yes, a daemon owns the terminals. If the daemon stops, one click resumes
Yes. The server owns the terminals
Yes. Detach and reattach
Local and cloud-synced conversations
Agent state at a glance
Yes. Working, idle or needs you, with desktop notifications
Yes. Blocked, working, done, idle
Panes only
Conversation panel and agent notifications
Multi-machine and SSH
Local only today
Yes. Saved SSH machines in one window
Yes. Over ssh
Cloud agents in Factories
Agents supported
Claude Code, Pi and Copilot CLI in the Cockpit
22 agent CLIs detected
Anything you can run in a pane
Claude Code, Codex, OpenCode and its own agent
Project and ticket board
Yes. A kanban per project, built from .tickets/
None documented
Not its job
Task lists for agent work only
Repo health checks
Yes. Upkeep runs context-check, context-doctor, dead-code-cleanup and promote-learnings, read-only
None documented
Not its job
None documented
Runs in your existing terminal
Cockpit is a browser window. The CLI works in any terminal
Yes. TUI, CLI and plain SSH
Yes. It is one
Its Terminal replaces yours. Its Agent CLI works in any terminal
Ownership
Local-first, no account
Yes. No SaaS, nothing hosted
Yes. Herdr Cloud is coming soon
Yes.
Terminal downloads freely. Factories needs signup
License
MIT
Apache 2.0
ISC
Terminal is open source. Factories and Agent CLI licensing not stated
Cost
Free. You pay your model provider
Free
Free
Factories is usage-based per agent run

Checked 2026-10-01 against each product's own pages. Canon's gate was run against a scratch ticket, and it refused on a missing summary and on empty acceptance checklists. "None documented" means we found no such feature there, not that it cannot exist. Next check due 2026-12-31. Something out of date? Open an issue.

In practice

Where each one wins.

Canon doesn't replace a runtime or a terminal. It answers a different question: is the work done?

vs Herdr

Herdr keeps the herd alive. Canon decides what counts as done.

Herdr is a runtime: a server owns the terminals, agents keep working while you are away, and it tracks whether each one is blocked. Canon's Cockpit does a lighter version of that for one machine. What Herdr does not document is a plan, acceptance criteria or a review gate.

Herdr wins on multiple machines, SSH and the number of agent CLIs it detects. Use both: canon's CLI and skills run inside any terminal, including a Herdr pane.

vs tmux

tmux sees panes. Canon sees tickets.

tmux lets programs keep running after you detach, and it has no idea an agent is in one. Canon treats each piece of work as a ticket with a plan, a checklist and a verdict, and shows its state on a board.

tmux wins on being everywhere, dependency-free and scriptable. Use both: run the agent that runs sprint start in a tmux pane.

vs Warp

Warp moves the work into its window. Canon keeps it in your repo.

Warp pairs a terminal with agents, planning and code review, and Factories adds team orchestration, approval gates and run scoring across Slack, Linear, Jira and GitHub. Canon stays local: plans and verdicts are markdown files in your repo, graded by a second agent, enforced by the CLI.

Warp wins on team workflows, integrations and cloud agents. Use both: canon's sprint runs under Claude Code, which Warp can also run.

Get started

Keep the terminal you have.

Install once, register the sprint skill, then ask your agent to run sprint start.

$curl -fsSL https://raw.githubusercontent.com/sunitghub/canon-skills/main/install.sh | bash
Windows: irm https://raw.githubusercontent.com/sunitghub/canon-skills/main/install.ps1 | iex