Skip to content

Stop and recover work

Choose the control that matches what you want to stop. Closing a status view, stopping one agent round and stopping the daemon have different consequences.

Action What stops What happens next
Interrupt web, status, assignment, conversation or feed Only that view The daemon and agents continue.
Run dreamcatcher stop or select stop round on the web page The current agent round The work waits for input unless a merged or closed pull request needs wrap-up.
Run dreamcatcher cancel or select cancel assignment on the web page The assignment and any running round You finish the pull request by hand. dreamcatcher runs no further rounds.
Press Ctrl-C in the terminal running dreamcatcher run The daemon and all its current rounds Work that still needs a round can recover after the daemon starts again.

Stop one running round

Run the command that selects the work you want to stop:

dreamcatcher stop GH123 --assignment
dreamcatcher stop GH123 --conversation

Use --assignment for the newest assignment at the issue, or --conversation for its issue conversation. You can instead run dreamcatcher web, open the assignment or conversation, select stop round, and confirm. Both controls are available only while the round is running and dreamcatcher has learned its harness session. The round normally stops within about a second.

After an assignment round is stopped, an open pull request waits for a new comment or review from you. Add that feedback when you are ready to resume. If you merge or close the pull request instead, its wrap-up can start without a new post.

After a conversation round is stopped, post a new eligible issue comment to resume the discussion. The next round is an ordinary response to that input, not an automatic recovery of the stopped attempt.

Removing an assignment label does not stop an active assignment. For a conversation, removing its last matching label makes future batches and recovery ineligible, but does not cancel a round already running.

Take over an assignment's pull request

Cancel an assignment when you want to finish its pull request yourself. Run:

dreamcatcher cancel GH123

The command cancels the newest assignment at the issue. You can instead open the assignment in dreamcatcher web, select cancel assignment, and confirm. A cancel cannot be undone.

dreamcatcher asks a running round to stop, runs no further rounds for the assignment, and stops relaying your comments and reviews on its pull request. The assignment shows as cancelled on the web home page and in dreamcatcher assignment, and dreamcatcher status counts it among the ended assignments.

Carry on in the assignment's worktree, which still has the branch checked out. Once no round is running, and when dreamcatcher has learned the agent's harness session, the assignment page shows the worktree and the command that resumes that session by hand.

dreamcatcher leaves the pull request as it is, and while it is open it claims the issue as work outside dreamcatcher. If you merge it, GitHub closes the issue. If you close it without merging, the issue can receive a new assignment while it keeps its assignment label and stays assigned to you.

Restart an interrupted daemon

Pressing Ctrl-C in the dreamcatcher run terminal shuts the daemon down and ends the rounds it owns. Start it again from the same main checkout:

dreamcatcher run --harness claude

Repeat any non-default --interval and --max-agents values you want; those are options for each daemon run, not saved configuration. On startup dreamcatcher also detects rounds orphaned by an earlier daemon. It records them as interrupted and schedules the next required recovery or wrap-up when the work is eligible. Recovery normally resumes the recorded harness session; you do not need to use the hand-resume command.

Recover from errors and faults

One errored round gets an automatic recovery opportunity, and unrelated work can continue. Two consecutive errored rounds put that assignment or conversation in fault so dreamcatcher does not repeat the same failure forever.

Read the detail and feed to find the cause:

dreamcatcher assignment GH123
dreamcatcher feed GH123 --assignment

For a conversation, replace assignment and --assignment with conversation and --conversation.

Fix the underlying problem first: for example, restore a missing credential, repair a project setup command or make a required service available. Then request another automatic recovery:

dreamcatcher retry GH123

retry preserves the failed rounds for diagnosis and requests recovery for the newest faulted assignment and faulted conversation at that issue. It does not start an agent itself; the daemon may recover the work on a later scheduler update.

You can instead run dreamcatcher web, open the faulted assignment or conversation, and select Retry. The control is available while the page shows that work's status as fault, and it requests recovery for that one assignment or conversation in the same way. The page records the request even while the daemon is stopped, and recovery can start once the daemon runs again.

Repeated failures across multiple work items can trigger a 15-minute global cooldown. dreamcatcher keeps reporting status but starts no agent rounds during the cooldown. It survives a daemon restart and clears the current faults when it ends. A manual retry request still waits until an active cooldown is over.

For exact retry syntax and error conditions, see the retry command reference.