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?

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:
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
- Open Roo Code in VS Code
- Click the mode selector β Edit Modes (or go to Settings β Custom Modes)
- Create a new mode β name it
DOITorEXECUTE - Paste this as the role instructions:
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:
# .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:
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:
β 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 .roorulesfile 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
| 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. ![]()
![]()
![]()
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-chatSave. 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 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
| Whatβs bugging you | What to actually do | |
|---|---|---|
| 30 sec | Code mode rambles | deepseek-chat |
| 5 min | Need parallel THINK profile | |
| 3 min | Step 1 didnβt stick (rambling continues) | |
| 10 min | Chat mode still preambles occasionally |
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:
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-chatin the dropdown?
AgentRouter sometimes labels the non-thinking variant asdeepseek-v3.1-terminusordeepseek-v4-flash. Same idea β pick the one without βreasonerβ in the name. (Official DeepSeek slug-to-mode mapping.)
Rambling continues anyway?
Thatβs not your config β youβve hit Issue #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:
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 Β· Sticky Models
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.) 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:
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:
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
codefor your custom mode. Confirmed bug β Issue #2558 β the UI shows your new prompt but the agent silently keeps the old one. Usedoer,dumb-coder,executorβ anything exceptcode.
πͺ 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:
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 (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) 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) Β· Setup walkthrough
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.
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.
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
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
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
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]
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)
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]
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
How to Make Custom Modes β Detailed Tutorial β youtu.be/qgqceCuhlRA
Complete Guide to Custom Modes (Create, Manage) β youtu.be/iiAv1eKOaxk
QUICK HITS
| Custom Modes |
Roo Code panel β Mode dropdown β |
docs.roocode.com |
.roorules file |
Create it manually in your project root folder | docs.roocode.com |
| Auto-Approve |
Roo Code panel β |
-β |
| 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 |
| Roo shutting down |
Migrate to Kilo Code before May 15, 2026 | kilo.ai |
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. ![]()
![]()
![]()
!