continuedev / continuedev/continue

Cannot disable thinking

Open
#13,214 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
36k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

Before submitting your bug report
Relevant environment info
  • OS: Linux
  • Continue version: 2.0.0
  • IDE version: VSCode 1.135.0
  • Model: Qwen3.6-35B-A3B, Aliased as "Coder" (both tested)
  • config:
models:
  - name: Cerval Coder Thinking
    provider: llama.cpp
    model: Coder
    apiBase: https://<llama-server>
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      reasoning: true
      reasoningBudgetTokens: 2048 
  - name: Cerval Coder Quick
    provider: llama.cpp
    model: Coder
    apiBase: https://<llama-server>
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      reasoning: false
    requestOptions:
      extraBodyProperties:
        reasoning_budget: 0
Description

The OpenAI provider pipeline in the VS Code extension automatically intercepts the model name and injects reasoning parameters/wrappers into the payload under the hood. If a user sets up a local llama-server instance where reasoning/thinking is explicitly turned off globally, and adds directive in config.yaml to disable thinking in the request payload, Continue overrides this behavior, perhaps because it detects the string "Qwen" or "DeepSeek" in the models configuration.

Setting defaultCompletionOptions: { reasoning: false } is completely ignored.

To reproduce
  1. Run a local llama-server with --alias "Coder,Qwen3.6-35B" and thinking disabled.
  2. Verify via raw curl that the endpoint returns clean text with NO reasoning fields or tags.
  3. Configure config.yaml to use provider: openai, model: Coder, and reasoning: false as illustrated below.
  4. Observe that the model responds with blocks despite user directive to explicitly disable thinking.
Log output
{
  "reasoning": false,
  "model": "Qwen3.6-35B",
  "maxTokens": 4096
}
<think>
Here's a thinking process:

1.  **Analyze User Input:** ...

*** Output from curl http://llama-server/models

{
  "models": [
    {
      "name": "Coder",
      "model": "Coder",
      "modified_at": "",
      "size": "",
      "digest": "",
      "type": "model",
      "description": "",
      "tags": [
        ""
      ],
      "capabilities": [
        "completion",
        "multimodal"
      ],
      "parameters": "",
      "details": {
        "parent_model": "",
        "format": "gguf",
        "family": "",
        "families": [
          ""
        ],
        "parameter_size": "",
        "quantization_level": ""
      }
    }
  ],
  "object": "list",
  "data": [
    {
      "id": "Coder",
      "aliases": [
        "Coder",
        "Qwen3.6-35B"
      ],
      "tags": [],
      "object": "model",
      "created": 1788340597,
      "owned_by": "llamacpp",
      "meta": {
        ...
      }
    }
  ]
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the VS Code extension's OpenAI provider pipeline and the handling of defaultCompletionOptions in the config.yaml example. Reproduce the request against the local llama-server with reasoning set to false, then trace where model-name detection adds reasoning parameters. Done means an explicit reasoning: false setting is preserved and the response has no unexpected thinking blocks.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
ai, devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.