Summary
The followup: "queue" setting has been intentionally disabled in the code, but the UI still shows a "QUEUED" badge, creating a confusing user experience.
Problem
Code Intentionally Disables Queue Mode
In /packages/app/src/context/settings.tsx:
- Lines 164-167: A
createEffect forces any "queue" value to "steer":
createEffect(() => {
if (store.general?.followup !== "queue") return
setStore("general", "followup", "steer")
})
- Lines 183-186: The getter converts
"queue" to "steer":
followup: withFallback(
() => (store.general?.followup === "queue" ? "steer" : store.general?.followup),
defaultSettings.general.followup,
),
- Lines 188-189: The setter converts
"queue" to "steer":
setFollowup(value: "queue" | "steer") {
setStore("general", "followup", value === "queue" ? "steer" : value)
},
UI Still Shows "QUEUED" Badge
In /packages/opencode/src/cli/cmd/tui/routes/session/index.tsx (lines 1267, 1331):
const queued = createMemo(() => props.pending && props.message.id > props.pending)
<span style={{ bg: color(), fg: queuedFg(), bold: true }}> QUEUED </span>
Impact
- Users see "QUEUED" badge when they type while agent is busy
- The message is actually sent immediately (steered), not queued
- Confusing and misleading UX
Expected Behavior
One of:
Option A: Re-enable queue mode by removing the forced conversions:
- Remove the
createEffect block (lines 164-167)
- Update the getter to not convert "queue" → "steer" (lines 183-186)
- Update the setter to allow "queue" value (lines 188-189)
Option B: Remove the misleading "QUEUED" badge from the UI if queue mode is intentionally disabled
Steps to Reproduce
- Open OpenCode CLI or Desktop
- Start a conversation with the agent
- While agent is processing, type and send another message
- Observe "QUEUED" badge appears
- Observe message is actually sent immediately (steered into current turn)
Environment
- OpenCode version: (latest from main branch)
- OS: macOS
Summary
The
followup: "queue"setting has been intentionally disabled in the code, but the UI still shows a "QUEUED" badge, creating a confusing user experience.Problem
Code Intentionally Disables Queue Mode
In
/packages/app/src/context/settings.tsx:createEffectforces any"queue"value to"steer":"queue"to"steer":"queue"to"steer":UI Still Shows "QUEUED" Badge
In
/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx(lines 1267, 1331):Impact
Expected Behavior
One of:
Option A: Re-enable queue mode by removing the forced conversions:
createEffectblock (lines 164-167)Option B: Remove the misleading "QUEUED" badge from the UI if queue mode is intentionally disabled
Steps to Reproduce
Environment