anomalyco / anomalyco/opencode
[Bug] Desktop (Mac): sending a follow-up while a turn is running interrupts it, queued follow-ups are unreachable
@Brendonovich is already working on this.
Since Sep 9, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
On the Mac desktop app, sending a message while the agent is still working on the previous one interrupts the running turn. There is no queue: the follow-up steals the turn instead of waiting behind it, so the first task never finishes.
I traced it to the app code (current dev). Queued follow-ups were removed in ae7e2eb3f (chore(app): remove queued follow-ups for now, Apr 3) and every path back to them is now hard-wired shut in packages/app/src/context/settings.tsx:
- the migration effect coerces any stored
"queue"to"steer"(L353-356), - the
followupgetter maps"queue"to"steer"(L372-375), setFollowupmaps"queue"to"steer"on write (L376-378),- the default is
"steer"(L187), and the same commit removed the mode toggle from the settings UI (settings-general.tsx).
So settings.general.followup() can never be "queue", which makes queueEnabled in packages/app/src/pages/session.tsx (L1754-1758) permanently false. The shouldQueue branch in packages/app/src/components/prompt-input/submit.ts (L482) is therefore dead code: onQueue/queueFollowup and the follow-up dock never fire, and the message goes down the normal submit path while a turn is in flight (which aborts/steers it, cf. L334). All the queue machinery is still in the tree, just unreachable.
OpenCode version
Desktop Mac app, server 1.18.25
Steps to reproduce
- In the Mac desktop app, send a prompt that starts a long-running task.
- While the turn is still running, send a follow-up message.
- The running turn is interrupted/steered instead of the follow-up being queued behind it. The first task never completes.
Expected
Either the follow-up is queued behind the running turn (the old followup: queue behavior), or the composer clearly offers queue-vs-interrupt so sending mid-turn does not silently kill the running work.
Related
- #44108 (web UI has no way to queue follow-ups, steer-only since the queue setting was removed)
- #37381 (prompt queue and interrupt controls for the composer)
- #44716 (desktop: visual indicator for queued messages)
- #46235 (queued prompt sent before previous completes, Windows/Git Bash client)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.