Drag a ticket to Todo. Claude writes the code, Codex reviews it, you merge with one click.

Auto-code is a workflow editor and runner inside the app. A workflow is a graph you can see and edit: Mo checks the ticket has enough context, one agent implements it in a git worktree, Mo decides whether it needs review, another agent reviews. A review that asks for changes goes back to the implementer in the same run; a question from the agent stops the run and asks you in chat.

graph workflowsclaude · codex · pi · opencodehuman gate

The default workflow

Auto-code Workflows Habit Tracker
Code + code review · Mo-drivenSaved
VisualJSON
+ cli_agent+ mcp_tool_call+ Mo stage+ Reject sink+ Complete sink+ human_gate+ branch
accept reject success review reject ask_human reply success approve reopen reject done tools_failed MO · PROCESS STARTmo_start2 branches · entryacceptreject CLI AGENTfixclaude MO STAGEmo_after_fix3 branchesreviewask_humanreject HUMAN · IN THE LOOPhuman_chatMo asks the user · text d… CLI AGENTreviewcodex MO STAGEmo_after_review3 branchesapprovereopenreject MO STAGEmo_tools2 branchesdonetools_failed REJECT SINKreject_terminalBacklog + Mo comment COMPLETE SINKcomplete_terminalDone + Mo comment

The canvas as it looks in the app. Node kinds by colour: CLI agent, Mo stage, Human in the loop, sinks. The highlighted node is the stage running now.

How it works

1
A ticket moves to Todo
In a folder with Auto-code on, that is the trigger. Mo assembles the work packet: the ticket, its comments, the project brief, related decisions and specs.
2
Mo gates the start
A Mo stage decides whether there is enough context to begin. If not, the ticket goes back to the backlog with a comment saying what is missing.
3
An agent implements
A CLI agent node, Claude by default, works in a git worktree of the repo you linked and reports. Trunk guard reverts anything that escapes the worktree.
4
Another agent reviews
Mo decides whether review is needed; Codex reviews against the acceptance criteria and returns a structured verdict. If it asks for changes, the work goes back to Claude in the same run.
5
You answer, then you merge
If Mo sees a question after the implementer’s step, a human gate stops the run and asks you in chat; your reply resumes it. When the review passes, the ticket moves to Done with the diff on its own worktree branch. Merge it with Merge into main in the Auto-code drawer, or turn on Auto-merge on done for the folder. An AI merge resolver handles conflicts on the way to main.

In detail

Graphs, not lines
A reviewer can send the ticket back to the implementer, Mo can reject to the backlog, a gate can wait for you. The graph that started a run is frozen for that run.
Re-opened with the reason
Failed runs land in Re-opened with the reason and a resolution: resume once with the failure in context, ask a human, or start a fresh session. Nothing is force-merged.
Structured verdicts
Codex sessions resume, and its verdicts come back as data the runner routes on, not text it guesses at.
Workflows over MCP
Agents can list, validate, create and copy workflows and switch Auto-code on for a folder or project. The morion-workflows skill teaches them to do it safely.
On your machine, on your logins
CLI agents run as local processes on the Claude Code and Codex logins you have, or any model through a provider you connect. Each agent node names its own provider and model, so a review can run on an open model such as Kimi, GLM or DeepSeek through OpenRouter, or on a local model through Ollama. Mo must be on for the folder. Auto-code is part of Pro and the 7-day trial.

What it is not

Not a cloud agent
Nothing runs on our servers. The code stays in your worktree; the transcript and the diff are on your disk.

Five shapes. The agent in every slot is yours.

Templates differ by which stages exist, never by which agent fills them. Copy one, change the slots, validate, and assign it to a folder or a whole project. Agents can do the same over MCP with the Workflows tools.

Plan + plan review + code + code review · Mo-driven
Four agents with Mo between every hand-off. The plan reviewer can send the planner back; the code reviewer can send the implementer back. For large or ambiguous tickets.
Code + review + docs + QA · Mo-driven
Implementer, reviewer, a docs agent that aligns README, docs and changelog, and a QA agent that writes functional tests or a manual checklist. For user-visible features.
Code + review + docs · Mo-driven
Three agents; the docs step runs only after a review passes, so documentation never describes a rejected diff. Guide.
Code + code review · Mo-driven default
Two agents with Mo between them; a human gate asks you in chat only when the fix raises a question. The default for new folders. Guide.
Code only · Mo-driven
One agent, Mo at the start and the end, a human gate where the agent surfaces a question. For trivial tickets or a spec you trust.

Node types

cli_agent
Spawn an agent with a prompt
Runs claude, codex, pi or opencode in the ticket's worktree, with an optional fallback agent and its own provider and model: pi and opencode take open models through OpenRouter or Ollama.
mo_stage
Let Mo decide
Free-text instructions plus the outcomes you allow: accept, reject, review, ask_human, or a loop back. Mo reads the ticket, the diff, the review and the project context, picks one, and the graph follows that edge.
human_gate
Pause for a person
The run stops and asks you in chat: a question the agent raised, or a decision you placed in your own graph. Your reply is folded into the next stage's context and the run resumes.
branch
Route on workflow state
Pick the next node from what happened so far: a test passed, a file changed, a label is set. The runner walks whatever graph you draw.
mcp_tool_call
Call a tool without an agent
Append a comment, move a card, attach a file, straight from the graph. No process spawned, no model call.
complete_sink
Terminal: done
Moves the ticket to done and Mo posts the closing comment. The worktree branch merges into main when you click Merge into main, or on its own if Auto-merge on done is on for the folder. Every workflow has exactly one.
reject_sink
Terminal: rejected
Moves the ticket to backlog and Mo posts a comment explaining why. Reachable from any mo_stage. A failure mid-run goes to Re-opened instead, with the reason and a resolution for the next pickup.

Auto-code runs the ticket. Your agent runs the batch.

Auto-code is the inner loop: one ticket, one graph, several agents. The outer loop is whatever agent you talk to. Because Morion is an MCP server, Claude Code or Codex can watch the board, promote the next safe set of tickets, help a stuck run, and report back, all through the same tools.

Say "act as PM" and the agent claims tickets as they become ready, reads Mo's work packets, and stops at Review for you. The board is the shared state. Three ways to orchestrate walks through it.

Claude Code · /loop 15m
› [00:04] tasks_list · Habit Tracker · statuses: open
1 done · 1 review · 1 doing · 1 todo · 2 backlog
next batch: Check-in flow (no overlap with Habit list screen)
› tasks_move · Check-in flow → todo · "Data model is done"
› [00:08] Check-in flow picked up by Auto-code · Claude on the diff
› [00:12] Habit list screen re-opened · reason: weekly aggregation tests
resolution: resume with failure in context · picked up again

Go deeper

Claude writes, Codex reviews
The default loop, from an empty folder to the first reviewed diff. 20 minutes.
Several models, one project
Who does what: a different agent per node, per folder.

More features

Notes and documents
Markdown notes on your disk that your agents read and write.
Kanban tasks
A private board where agents claim tickets and you review.
MCP
Claude Code, Codex, Cursor and any client on one notebook, in parallel, locally.
Integrations
One-click setup for Claude Code, Codex, Cursor and more; the model sources Mo and Auto-code run on.
Permissions
Per-folder and per-note access for agents, tool categories, audit log.
Smart indexing
Every note summarised and grouped into topics; each ticket gets its context.
Mo Assistant
Ask what was decided and get the source note. Mo works the notebook while your agents work the code.

Review diffs. Stop babysitting terminals.

Download