CommitsPreview
Commits
When commits.enabled is true, enqueue records a Git-backed proposal stack in a managed worktree without moving the developer's branch. Without that opt-in the legacy independent-patch queue remains.
Verification never reads this queue.
Call
guard_commitsbefore new workEnqueue one vertical slice
Continue at
queueWorktreePathwhen enabled
Which queue?
Proposal queue
commits.enabled is true. The first enqueue restores the developer worktree after creating the proposal worktree; subsequent changes remain committed and checked out at the proposal tip.
Legacy local queue
Legacy enqueue_commit restores tracked files after saving an independent patch. commits next remains CLI-only developer-owned review work.
Tool
enqueue_commit
Commits MCP
/mcp/commits exposes Streamable HTTP and legacy SSE at /mcp/commits/sse plus /mcp/commits/message. It owns only commit queue tools and exposes no workspace resources.
enqueue_commit
When
commits.enabledis true, runs the required Verification checks, records the selected delta as the next Git commit in a Server-managed proposal worktree, leaves the developer branch unchanged, and returns the worktree path where the agent must continue dependent work. Without that opt-in it retains the legacy independent-patch behavior during migration.enqueue_review_fix_commit
Saves one review issue violation fix with a required
reviewIssueId. Do not combine multiple review issues in one entry.get_commits_status
Returns queued entries, unassigned modified files, any active commit edit session, and active Git operation state.
guard_commits
Returns the managed
continueWorktreePathwhen a dependent proposal queue already exists. Legacy queued entries, active edit sessions, staged changes, unassigned modified files, and active Git operations block work.inspect and assign
inspect_commit,get_commit_changes,update_commit_message,add_commit_files, andremove_commit_filesupdate or read one entry.archive and edit
remove_commit,restore_commit,clear_commits,begin_commit_edit,save_commit_edit, andabort_commit_edit.
Human clients read the same authoritative state through GET /api/workspaces/{workspaceId}/commit-queue. Desktop and Mobile display the returned ordered entries and verification states; MCP agents use get_commits_status and must continue at the returned managed worktree path after the first Git-backed enqueue.
MCP enqueue operations require conventional commit messages scoped to the queued slice, such as fix(Commits): validate queue metadata. When the Server recognizes feature-sliced paths under Features/<Slice>/, enqueue operations reject entries that span multiple slices or whose slice label does not match the recognized slice.
Agents should follow the default prefix policy from get_agent_up_context. Cross-slice guidance or documentation updates should be queued in a separate guidance/docs entry.
Commit queue reminders
MCP has no server-side lifecycle callback for when an agent finishes a turn. Agents should call guard_commits before starting a new coding task. A successful response with continueWorktreePath directs the ACP task to the managed proposal tip.
Claude Code installations can surface commit queue reminders with a client-side Stop hook that runs agent-up commits guard.