Skip to content

[Bug]: Question Tool popup doesn't appear casually, and opencode auto-selects an option then continue outputting or editing #31383

Closed as not planned

Description

@festoney8

Description

When OpenCode should present a MCQ popup (Question Tool), the popup sometimes fails to appear.

Instead, a loading animation is displayed for several seconds, after which OpenCode suddenly auto‑selects an option and continues executing the next tasks (e.g., outputting text or writing files). If it's not the option I need, I had to break and undo.

This is an intermittent issue and requires multiple attempts to reproduce. It can occur in both Plan mode and Build mode. In Build mode, it sometimes asks me "What do you think of this approach?" and then, without me doing anything, it suddenly continues with "Okay, I'll now edit the file..."

TBH I don't particularly care if the popup appears or not, but it must not auto-select and proceed without my feedback.

Environment

  • OS: Debian 13
  • Version: v1.16.2
  • Install method: npm install
  • Model used: deepseek-v4-pro (official or opencode go plan)
  • Launch method: opencode web --port 4096 --hostname 0.0.0.0
  • Plugins: superpowers, opencode-power-pack, context7, gh_grep

Steps to reproduce

  1. Open a new blank project in OpenCode, whatever Plan mode or Build mode.
  2. Ask the model to generate a random MCQ to trigger the Question Tool.
  3. Retry several times.

Screenshot

Image Image Image

More info

To debug this issue, I deployed an LLM gateway to inspect the raw LLM requests.

The logs show that my prompt generated 3 requests: the first was for title generation, and the second and third were for the main content.

Is it normal to have three requests?

Image

The second req and resp

Request

{
  "model": "deepseek-v4-pro",
  "tools": [ ... ],
  "stream": true,
  "messages": [
    {
      "role": "system",
      "content": "You are opencode, an interactive CLI tool ......"
    },
    {
      "role": "user",
      "content": [
        {
          "text": "<EXTREMELY_IMPORTANT>\nYou have superpowers. ......",
          "type": "text"
        },
        {
          "text": "Ask me a random MCQ?",
          "type": "text"
        },
        {
          "text": "<system-reminder>\n# Plan Mode - System Reminder\n\nCRITICAL: Plan mode ACTIVE ......",
          "type": "text"
        }
      ]
    }
  ],
  "max_tokens": 32000,
  "tool_choice": "auto",
  "stream_options": {
    "include_usage": true
  }
}

Response

{
  "id": "c3f7cf5a-1951-4311-ba9c-2ce9b4c3310e",
  "model": "deepseek-v4-pro",
  "usage": {},
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "What does `git stash pop` do?\n\nA) Restores stashed changes and keeps the stash\nB) Restores stashed changes and removes the stash\nC) Creates a new stash of current changes\nD) Lists all stashed changes",
        "reasoning_content": "The user is asking me to ask them a random multiple choice question. This is a simple, straightforward request. Let me just ask them a random MCQ - no need for any skills here. I'll come up with a random programming-related MCQ."
      },
      "finish_reason": "stop"
    }
  ],
  "created": 1780930427,
  "system_fingerprint": "fp_9954b31ca7_prod0820_fp8_kvcache_20260402"
}

The third req and resp

Request

{
  "model": "deepseek-v4-pro",
  "tools": [ ... ],
  "stream": true,
  "messages": [
    {
      "role": "system",
      "content": "You are opencode, an interactive CLI tool that ......"
    },
    {
      "role": "user",
      "content": [
        {
          "text": "<EXTREMELY_IMPORTANT>\nYou have superpowers......",
          "type": "text"
        },
        {
          "text": "<system-reminder>\nThe user sent the following message:\nAsk me a random MCQ?\n\nPlease address this message and continue with your tasks.\n</system-reminder>",
          "type": "text"
        },
        {
          "text": "<system-reminder>\n# Plan Mode - System Reminder\n\nCRITICAL: Plan mode ACTIVE ......",
          "type": "text"
        }
      ]
    },
    {
      "role": "assistant",
      "content": "What does `git stash pop` do?\n\nA) Restores stashed changes and keeps the stash\nB) Restores stashed changes and removes the stash\nC) Creates a new stash of current changes\nD) Lists all stashed changes",
      "reasoning_content": "The user is asking me to ask them a random multiple choice question. This is a simple, straightforward request. Let me just ask them a random MCQ - no need for any skills here. I'll come up with a random programming-related MCQ."
    }
  ],
  "max_tokens": 32000,
  "tool_choice": "auto",
  "stream_options": {
    "include_usage": true
  }
}

Response

{
  "id": "ef560a54-5eb5-4f5f-adf0-8e2fa846c391",
  "model": "deepseek-v4-pro",
  "usage": {},
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Correct answer: **B** — `git stash pop` restores the most recently stashed changes and removes them from the stash list.\n\n(A is `git stash apply`; C is `git stash` or `git stash push`; D is `git stash list`.)",
        "reasoning_content": "The user asked me a random MCQ, and I provided one about `git stash pop`. I gave the question with four options A through D. Now I should wait for the user's answer.\n\nActually, since the system reminder says I'm in Plan Mode and can't make edits, but the user just asked for a random MCQ, I've provided one. Let me see if the user responds.\n\nActually, wait - I should just provide the MCQ answer since this is a simple question. The correct answer is B."
      },
      "finish_reason": "stop"
    }
  ],
  "created": 1780930430,
  "system_fingerprint": "fp_9954b31ca7_prod0820_fp8_kvcache_20260402"
}

Activity

  1. github-actions commented on Jun 8, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. github-actions commented on Aug 8, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions