# Set Roo to CODE only, not THINK

**URL:** <https://onehack.st/t/set-roo-to-code-only-not-think/321603>\
**Category:** Discussion & Solutions\
**Tags:** solved\
**Created:** [April 28, 2026, 4:57pm UTC](https://onehack.st/t/set-roo-to-code-only-not-think/321603 "2026-04-28T16:57:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vishal\_Jain2](https://onehack.st/user_avatar/onehack.st/vishal_jain2/32/179340_2.png) [@Vishal\_Jain2](https://onehack.st/u/Vishal_Jain2)\
**Post date:** [April 28, 2026, 4:57pm UTC](https://onehack.st/t/set-roo-to-code-only-not-think/321603/1 "2026-04-28T16:57:41Z")

</div>

I cant code. I ask LLM for help in code with question, they tell, dont write full script. i take their prompt to roo code on agentrouter deepseek to do task. it f%$#ing starts oh i need to do this or that, but wait, i see this, so i may have to … kind of bs. how to make it a like a dumb DO IT coder? if i need think, i will make a different profile and use another model or something else. possible to do it?

---

<div class="post-metadata">

**Author:** ![Emanuel\_Branson](https://onehack.st/user_avatar/onehack.st/emanuel_branson/32/178452_2.png) [@Emanuel\_Branson](https://onehack.st/u/Emanuel_Branson)\
**Post date:** [April 28, 2026, 7:52pm UTC](https://onehack.st/t/set-roo-to-code-only-not-think/321603/2 "2026-04-28T19:52:27Z")

</div>

# 🔥💻 HOW TO MAKE ROO CODE JUST SHUT UP AND WRITE THE CODE ⚡🤖

* * *

> 🎯 **You don’t want DeepSeek narrating its entire thought process like a documentary. You want it to DO the task, write the code, and stop talking. Here’s exactly how to lobotomize it into a pure execution machine using Roo Code’s Custom Modes and `.roorules`.** 👇

* * *

## 🧠 WHY IT HAPPENS

DeepSeek (and most reasoning models) are trained to “think out loud” — they narrate every step because that’s what gets rewarded in training. In Roo Code’s default Code mode, there’s nothing stopping that behavior. The fix is a **custom mode with brutal instructions** that kills the thinking and forces pure output.

* * *

## 🛠 THE TWO-PROFILE SETUP (EXACTLY WHAT YOU WANT)

Roo Code supports **separate Custom Modes per task** — one for thinking, one for doing. You already figured out the right instinct. Here’s how to build it:

```auto
PROFILE 1 — "DO IT" MODE ← your dumb coder
  Model: DeepSeek (fast, cheap)
  Job: Write code. No comments. No questions.
            Just produce the file and stop.

PROFILE 2 — "THINK" MODE ← your reasoner
  Model: Any slow thinker (o3, R1, Claude)
  Job: Plan, analyze, break down tasks.
            No code output. Just structured plans.

```

* * *

## ✅ STEP 1 — CREATE YOUR “DO IT” CUSTOM MODE

1. Open **Roo Code** in VS Code
2. Click the **mode selector** → **Edit Modes** (or go to Settings → Custom Modes)
3. Create a new mode — name it **`DOIT`** or **`EXECUTE`**
4. Paste this as the **role instructions:**

```auto
You are a silent code execution machine.
Your ONLY job is to write complete, working code.

RULES — NO EXCEPTIONS:
- Write the FULL file. Never partial. Never snippets.
- ZERO explanations before the code.
- ZERO explanations after the code.
- ZERO "I will now...", "Let me think...", "However..."
- ZERO questions back to the user.
- If something is unclear, make a reasonable assumption
  and write the code anyway.
- Output = code only. Nothing else.
- If you want to add a note, put it as a code comment
  inside the file. Nowhere else.

```

* * *

## ✅ STEP 2 — ADD A `.roorules` FILE (NUCLEAR OPTION)

Create a file called `.roorules` in your project root. This forces rules on EVERY mode in that project:

```auto
# .roorules
- Write complete files only. No partial code.
- No preamble. No explanation. No summaries.
- No "I need to..." or "Let me..." sentences.
- Assume all requirements. Never ask clarifying questions.
- Output code immediately. That is the only response.

```

* * *

## ✅ STEP 3 — TURN ON AUTO-APPROVE

So it doesn’t stop to ask you permission every 5 seconds:

```auto
Roo Code Settings → Auto-Approve:
  ✅ Write files
  ✅ Read files
  ✅ Execute commands (optional — only if you trust it)
  ✅ Edit existing files

```

* * *

## ✅ STEP 4 — HOW TO PROMPT IT CORRECTLY

The prompt you give DOIT mode should be task-only, zero questions:

```auto
❌ BAD PROMPT:
"Can you help me make a Python script that
maybe connects to an API and does something?"

✅ GOOD PROMPT:
"Write a complete Python script.
Task: fetch data from https://api.example.com/users
Save response to output.json
Use requests library."

```

* * *

## 💡 PRO TIPS

- 🧠 **Use THINK mode to plan → copy the plan → paste into DOIT mode to execute** — two-step workflow, zero wasted tokens
- 🔑 **DeepSeek is perfect for DOIT mode** — fast, cheap, follows instructions well when the system prompt is brutal enough
- ⚡ **The `.roorules` file beats everything** — even if the model wants to ramble, the rules file forces it back on track
- 🚫 **Avoid “help me with…” phrasing** — it triggers explanation mode. Use “write”, “create”, “output” instead
- 🔁 **If it still talks too much** — add `"Violation of silence rules = restart the task"` to your `.roorules`

* * *

## ⚡ QUICK HITS

| 😩 PROBLEM | ✅ FIX | 📍 WHERE |
| --- | --- | --- |
| Model narrates everything 🗣 | Add brutal silence rules to Custom Mode | Roo Code → Edit Modes |
| Still asks questions 🤔 | Add `.roorules` file to project root | Project root folder |
| Stops for approval constantly ⏸ | Enable Auto-Approve for files + reads | Roo Code Settings |
| Gives partial code snippets ✂ | Add “Write FULL file always” to rules | `.roorules` |
| Need thinking for complex tasks 🧠 | Create separate THINK mode + slow model | Roo Code → Edit Modes |
| Prompt triggers explanation mode 💬 | Use “write/create/output” not “help me” | Your prompt |

* * *

_The model isn’t broken — it’s just trained wrong for your use case. One custom mode, one `.roorules` file, and DeepSeek becomes the dumbest, fastest, most obedient coder you’ve ever had. No thinking. No narrating. Just code. That’s the whole game. 💪🔥🚀_

* * *

---

<div class="post-metadata">

**Author:** ![Ze380y](https://onehack.st/user_avatar/onehack.st/ze380y/32/48760_2.png) [@Ze380y](https://onehack.st/u/Ze380y)\
**Post date:** [April 30, 2026, 4:57am UTC](https://onehack.st/t/set-roo-to-code-only-not-think/321603/3 "2026-04-30T04:57:23Z")

</div>

Sounds like you’ve already half-built the right answer in your own message — you’re just stuck on where the actual switch is. Quick listen-back:

🔸 CODE mode does “oh I need to…, but wait…” instead of running your pasted prompt  
🔸 You want execute-only — no re-thinking  
🔸 You want a parallel THINK profile preserved

**Good news:** the rambling **isn’t your fault** , your architecture instinct was right, and Roo has a feature literally named for what you described. Fix sits at a layer most guides skip.

* * *

> # 🎯 The 30-second answer
> 
> Roo Settings → Providers → AgentRouter → **Model** dropdown
> 
> Switch `deepseek-reasoner` → `deepseek-chat`
> 
> Save. Restart chat. Rambling stops.

**Why this works:** the slug name **is** the toggle. `deepseek-reasoner` is DeepSeek’s thinking mode. `deepseek-chat` is the _same underlying model_ with thinking off. You weren’t fighting Roo — you were on the talky variant.

* * *

> 🪄 **The reframe nobody told you:**  
> Roo’s source code [already forbids](https://github.com/RooCodeInc/Roo-Code/blob/main/src/core/prompts/sections/custom-instructions.ts) the agent from being conversational, from starting with _“Great”_, _“Certainly”_, _“Okay”_, _“Sure”_. That rule is **baked in**.
> 
> You’re not fighting Roo’s defaults. You’re using a model that leaks chain-of-thought **past** them. Slug change = source-level fix.

* * *

# 🗺 Map of fixes — pick what fits, stop when rambling stops

| ⏱ Time | What’s bugging you | What to actually do |
| --- | --- | --- |
| **30 sec** | Code mode rambles | 🎯 **Step 1** — swap slug to `deepseek-chat` |
| **5 min** | Need parallel THINK profile | 🔁 **Step 2** — Configuration Profiles + Sticky Models |
| **3 min** | Step 1 didn’t stick (rambling continues) | 🚪 **Step 4** — bypass AgentRouter, go direct |
| **10 min** | Chat mode still preambles occasionally | 🔨 **Step 3** — Custom “Doer” mode |

```auto
Did Step 1 kill the rambling?
│
├── ✅ YES → optionally do Step 2 for the THINK profile, you're done
│
└── ❌ NO → 🚪 Step 4 (you hit the known router bug, not your fault)

```

* * *

> 🧰 _Run this same split daily — chat slug pinned to Code for execute-on-paste, reasoner pinned to Architect for when I genuinely don’t know what I want yet. Only time it bit me: forgot to switch back to Doer after a planning session, and a tiny refactor burned 3x the usual tokens before I noticed. Lesson: glance at the model name in your chat header, not just the mode name._

* * *

> **🎯 Step 1 — The 30-second slug switch (start here)**
>
> **The click path:**
> 
> ```auto
> VSCode → Roo Code panel → ⚙️ gear (top-right of Roo)
> → Providers tab
> → click your AgentRouter provider
> → Model dropdown
> → switch deepseek-reasoner → deepseek-chat
> → Save
> 
> ```
> 
> **What happens next:** paste a prompt in Code mode. The response should start with the **action** (a tool call like `read_file`, `write_to_file`) instead of `<thinking>` blocks or _“Let me analyze…”_
> 
> ✅ **How you know it worked:** zero preamble. Tool call starts within the first line of the reply.
> 
> > ⚠ **Don’t see `deepseek-chat` in the dropdown?**  
> > AgentRouter sometimes labels the non-thinking variant as `deepseek-v3.1-terminus` or `deepseek-v4-flash`. Same idea — pick the one **without “reasoner” in the name**. ([Official DeepSeek slug-to-mode mapping](https://api-docs.deepseek.com/updates).)
> 
> > ⚠ **Rambling continues anyway?**  
> > That’s not your config — you’ve hit [Issue #10485](https://github.com/RooCodeInc/Roo-Code/issues/10485) (open, maintainer-acknowledged). Roo’s UI for some router-routed models doesn’t expose the OFF toggle yet. **Skip to Step 4.**

> **🔁 Step 2 — Build your parallel THINK profile (the architecture you already described)**
>
> This is the part you literally drew up in your own message: _“different profile + another model.”_ Roo calls it **API Configuration Profiles + Sticky Models**.
> 
> **The click path:**
> 
> ```auto
> Roo Settings → Providers tab
> → at the top, profile name field with save-as / "+" button
> → create Profile A: name "DeepSeek-Doer", model deepseek-chat
> → create Profile B: name "DeepSeek-Thinker", model deepseek-reasoner
> 
> Then → 📝 Prompts tab
> → Code mode → assign API Config: DeepSeek-Doer
> → Architect mode → assign API Config: DeepSeek-Thinker
> 
> ```
> 
> **What happens:** switch to Architect mode → model auto-swaps to reasoner. Switch back to Code → auto-back to chat. **Sticky Models** persists across VSCode restarts so you only do this once.
> 
> ✅ **How you know it worked:** the model name shown in Roo’s chat header changes when you switch modes.
> 
> 📚 [Roo docs — API Configuration Profiles](https://docs.roocode.com/features/api-configuration-profiles) · [Sticky Models](https://docs.roocode.com/basic-usage/using-modes)
> 
> > 💡 **External validation, free of charge:**  
> > Aider’s CLI pioneered this exact split — `--architect <reasoner> --editor-model <chat>` set a benchmark record by separating reasoning from execution. ([Aider’s R1+Sonnet polyglot SOTA write-up](https://aider.chat/2025/01/24/r1-sonnet.html).) You re-derived the architecture before knowing it had a name. Trust your instinct.

> **🔨 Step 3 — Custom Doer mode (only if chat mode still preambles)**
>
> If `deepseek-chat` is _occasionally_ still chatty (rare, happens with very abstract prompts), bolt down a custom mode that strips the role to bone.
> 
> **Create a `.roomodes` file in your project root:**
> 
> ```yaml
> customModes:
> - slug: doer
> name: 🔨 Doer
> description: Execute pre-thought tasks. No analysis, no explanation.
> roleDefinition: >-
> You are an execution-only coding agent. The user has already thought
> through the problem with another assistant. You receive their finalized
> instructions and execute them via tool calls. Never analyze alternatives,
> never explain reasoning, never narrate before tool calls.
> whenToUse: When the user pastes pre-finalized prompts and wants direct execution.
> customInstructions: |
> - Do not start messages with "Let me", "I'll", "First", "Now", "Looking at", "Based on".
> - Do not summarize what you're about to do. Just do it.
> - If a step is genuinely ambiguous, ask one short question. No paragraphs.
> - When done, one line: what changed and where.
> groups:
> - read
> - edit
> - command
> 
> ```
> 
> **Then:**
> 
> ```auto
> Command Palette (Ctrl+Shift+P)
> → "Developer: Reload Window"
> → Roo Code panel → mode dropdown
> → 🔨 Doer should now appear
> → pin DeepSeek-Doer profile to it (Sticky Models will remember)
> 
> ```
> 
> ✅ **How you know it worked:** pick Doer mode, paste a prompt, response is **tool-call-first** with zero narrative wrapper.
> 
> > ⚠ **Footgun:**  **never** reuse the slug `code` for your custom mode. Confirmed bug — [Issue #2558](https://github.com/RooCodeInc/Roo-Code/issues/2558) — the UI shows your new prompt but the agent silently keeps the old one. Use `doer`, `dumb-coder`, `executor` — anything except `code`.

> **🚪 Step 4 — Escape hatch: bypass AgentRouter entirely**
>
> If Step 1’s slug change didn’t stick (you hit Issue #10485), the cleanest fix is connecting Roo **directly** to DeepSeek instead of routing through AgentRouter.
> 
> **The click path:**
> 
> ```auto
> 1. Sign up at api-docs.deepseek.com
> 2. Top up the minimum balance ($2)
> 3. Roo Settings → Providers → "DeepSeek" (NOT AgentRouter)
> 4. Paste your DeepSeek API key
> 5. Model: deepseek-chat
> 
> ```
> 
> **Tradeoff:**
> 
> - ❌ Lose the $200 AgentRouter free-credit buffer
> - ✅ DeepSeek direct is dirt cheap on its own — V4-Flash runs $0.14 / million input tokens, $0.28 / million output tokens
> - ✅ No router bug — reasoning toggle works as expected
> - ✅ A full coding session usually costs cents

> **🛡️ Footguns nobody tells you about (read this if you're going to skip steps)**
>
> 🚫 **Don’t waste time on these dead ends:**
> 
> | Dead end | Reality |
> | --- | --- |
> | “Add ‘be concise’ to Custom Instructions” | Useless when rambling is at the model layer. Slug change first. |
> | “Enable Power Steering in Experimental Features” | The toggle was [removed](https://github.com/RooCodeInc/Roo-Code/blob/main/CHANGELOG.md) (PR #10926). Docs lag the code. Stop hunting it. |
> | “Use Architect mode to plan, then Code to execute” | Roo’s official advice. The OP is past this — they want execution-only, full stop. |
> | “Lower the temperature” | Temperature has nothing to do with chain-of-thought verbosity. Different axis. |
> | “Reuse slug `code` for your custom mode” | Silent bug — Issue #2558 — UI shows new prompt, agent gets old one. |

> **🦊 Bonus context — what AgentRouter actually is (matters for your week-six planning)**
>
> AgentRouter ([agentrouter.org](https://agentrouter.org)) launched October 2025 as a **non-profit “公益” (public-welfare) unified-LLM gateway** — Chinese-affiliated, routes to Anthropic / OpenAI / DeepSeek / Zhipu via one OpenAI-compatible base URL.
> 
> 🎁 **What you got for free:**
> 
> - $200 referral / $100 standard credits, no card required
> - Same-as-retail pricing, no markup
> - Roo Code has native built-in support — no env vars needed
> 
> ⚠ **What you should know:**
> 
> - Reliability “can vary” by their own positioning — it’s a subsidy, not an SLA
> - Free credits could dry up if budget runs out
> - Behaves like OpenRouter for routing → that’s why Issue #10485 hits you
> 
> 📚 [Full AgentRouter context (community gist)](https://gist.github.com/rjhzk447/37441431f5f9857128e5c43dd76ae8c9) · [Setup walkthrough](https://gist.github.com/zabih3/28d5e5918840516f06b8a2dc75113c76)
> 
> > 💡 **Translation:** great for tinkering and burning free credits while figuring out your stack. For anything you’d be sad to lose tomorrow, plan an exit (Step 4 or another router).

* * *

You said _“if i need think, i will make a different profile and use another model or something else”_ — **that’s literally Sticky Models + Configuration Profiles** (Step 2). You re-invented Roo’s feature before reading the docs. The only missing piece was the slug name doing the actual work at the model layer.

❓ **One question back:** once you flip the slug in Step 1 and restart the chat — does the rambling stop on the very first paste, or does it keep leaking through? That tells us whether you’re done at Step 1 or also need Step 4.

---

<div class="post-metadata">

**Author:** ![Vishal\_Jain2](https://onehack.st/user_avatar/onehack.st/vishal_jain2/32/179340_2.png) [@Vishal\_Jain2](https://onehack.st/u/Vishal_Jain2)\
**Post date:** [May 1, 2026, 1:55am UTC](https://onehack.st/t/set-roo-to-code-only-not-think/321603/4 "2026-05-01T01:55:11Z")

</div>

I am in middle of a project. Changing the setting will help me a lot but since I am a noob, I am not very confident where these settings live, where to change. Can some one make a PDF or a YT tutorial on it pls? Trust me, there will be thousands who are stuck in same situation like me. I was hitting the github copilot limit, saw a tutorial that let me set alternate model in place. Now it is better. Once I hit limit, I switch model and continue. Next month it reset. Copilot chat does no bs and it helps.

---

<div class="post-metadata">

**Author:** ![Emanuel\_Branson](https://onehack.st/user_avatar/onehack.st/emanuel_branson/32/178452_2.png) [@Emanuel\_Branson](https://onehack.st/u/Emanuel_Branson)\
**Post date:** [May 1, 2026, 3:32am UTC](https://onehack.st/t/set-roo-to-code-only-not-think/321603/5 "2026-05-01T03:32:06Z")

</div>

⚠ **HEADS UP FIRST — Important news before the guide:**

> Roo Code is **shutting down May 15, 2026** and migrating to **Kilo Code** — same features, new name.The settings below work identically on both. If you’re setting this up fresh, install **Kilo Code** instead.

* * *

# 🔥💻 NOOB-FRIENDLY GUIDE — WHERE THE ROO CODE SETTINGS ACTUALLY LIVE ⚙🗂

* * *

> 🎯 **You know WHAT to change from the previous guide — now here’s exactly WHERE to find every setting, step by step, no prior experience needed. This is the guide that should’ve existed from day one.** 👇

* * *

## 🗂 WHERE EVERY SETTING LIVES

```auto
SETTING WHERE IT LIVES
─────────────────────────────────────────────────
Custom Modes (DOIT/THINK) Roo Code panel → Mode
                           dropdown → ✏️ Edit Modes

Global Rules (all modes) Auto-created file:
                           C:\Users\YOU\AppData\
                           Roaming\Code\User\
                           globalStorage\...
                           \settings\custom_modes.yaml

Project Rules (.roorules) YOUR PROJECT FOLDER
                           Just create a file called
                           .roorules in the root

Auto-Approve Settings Roo Code panel →
                           ⚙️ Settings icon →
                           Auto-Approve section

Switch Model per Mode Roo Code panel →
                           Change mode → model
                           selector at the top

```

* * *

## ✅ STEP 1 — FIND THE ROO CODE PANEL

```auto
1. Open VS Code
2. Look at the LEFT sidebar icons
3. Find the 🐾 Roo Code paw icon
   (may be hidden — click the ··· dots to find it)
4. Click it → Roo Code panel opens on the left

```

* * *

## ✅ STEP 2 — CREATE YOUR “DOIT” CUSTOM MODE

```auto
1. In the Roo Code panel, look UNDER the chat box
2. See the mode selector (says "Code" by default)
3. Click it → small menu opens
4. Click ✏️ "Edit Modes" or the pencil icon
5. Click ➕ "Create New Mode"
6. Fill in:
   Name: DOIT
   Slug: doit
   Role: (paste the rules from the previous guide)
7. Click "Create Mode" ✅

```

* * *

## ✅ STEP 3 — CREATE THE `.roorules` FILE

This is just a plain text file — no coding needed: [2][3]

```auto
METHOD 1 — File Explorer (easiest):
1. Open your project folder in File Explorer
2. Right-click empty space → New → Text Document
3. Name it exactly: .roorules
   (yes, with the dot, no extension after)
4. Open it → paste your rules → save

METHOD 2 — VS Code:
1. In VS Code Explorer panel (left side)
2. Click the ➕ New File icon
3. Type: .roorules → Enter
4. Paste your rules → Ctrl+S to save

```

* * *

## ✅ STEP 4 — TURN ON AUTO-APPROVE (STOP THE INTERRUPTIONS)

```auto
1. Roo Code panel → look for ⚙️ Settings icon
   (usually top-right of the Roo Code panel)
2. Click it → Settings page opens
3. Scroll to "Auto-Approve" section
4. Turn ON:
   ✅ Read files
   ✅ Write files
   ✅ Edit files
5. Save ✅

```

* * *

## ✅ STEP 5 — ASSIGN A MODEL TO EACH MODE (YOUR COPILOT TRICK)

Roo Code remembers the last model per mode — called **Sticky Models** : [4]

```auto
1. Switch to DOIT mode (your fast executor)
2. At the top of the Roo Code panel → model selector
3. Pick: DeepSeek or any fast/cheap model
4. Roo Code now remembers DeepSeek = DOIT mode

5. Switch to Code mode (your fallback)
6. Model selector → pick GitHub Copilot or Claude
7. Roo Code remembers that too

Now when you hit a limit:
→ Switch mode → automatically switches model ✅
→ Exactly like your Copilot trick, but smarter

```

* * *

## 🎬 YOUTUBE TUTORIALS (WATCH THESE)

- 📺 **Roo Code Setup in VS Code (2026)** → [youtu.be/ItCT3cOLz-0](https://www.youtube.com/watch?v=ItCT3cOLz-0)
- 📺 **How to Make Custom Modes — Detailed Tutorial** → [youtu.be/qgqceCuhlRA](https://www.youtube.com/watch?v=qgqceCuhlRA)
- 📺 **Complete Guide to Custom Modes (Create, Manage)** → [youtu.be/iiAv1eKOaxk](https://www.youtube.com/watch?v=iiAv1eKOaxk)

* * *

## ⚡ QUICK HITS

| 😩 LOST ON | ✅ EXACTLY WHERE | 🔗 |
| --- | --- | --- |
| Custom Modes 🗂 | Roo Code panel → Mode dropdown → ✏ Edit Modes | [docs.roocode.com](https://docs.roocode.com/features/custom-modes) |
| `.roorules` file 📄 | Create it manually in your project root folder | [docs.roocode.com](https://docs.roocode.com/features/custom-instructions) |
| Auto-Approve ✅ | Roo Code panel → ⚙ Settings → Auto-Approve | -– |
| Switch model per mode 🔄 | Model selector at top of Roo Code panel | -– |
| Video walkthrough 🎬 | YouTube: “How to make Custom Modes in Roo Code” | [youtu.be/qgqceCuhlRA](https://www.youtube.com/watch?v=qgqceCuhlRA) |
| Roo shutting down ⚠ | Migrate to **Kilo Code** before May 15, 2026 | [kilo.ai](https://kilo.ai/articles/roo-to-kilo-migration-guide) |

* * *

_The settings were never hidden — they just weren’t explained for people who don’t already know where to look. Now you know exactly where every knob lives. Set it once, and your whole workflow changes forever. 💪🔥🚀_

* * *
