Version line
v2 — Go rewrite (1.x), main-v2 (active development)
What happened?
agent.auto_plan = ask can automatically enter plan mode for prompts that are not actually implementation/planning tasks.
This is severe because the user may be doing a simple non-mutating task and has no practical way to avoid the false trigger except disabling auto-plan globally. Once triggered, Reasonix treats the assistant response as a plan proposal and shows the plan approval UI, even when the model has already completed the simple task.
A concrete repro observed in the desktop app: ask Reasonix to translate a ~200-word English text. The text itself happened to contain engineering terms such as UI, config, tests, docs, issue, and frontend. The task is just translation, but auto-plan entered plan mode and showed the plan approval bar afterward.
Why this is confusing
The user did not explicitly ask for planning and did not switch to plan mode. The task is simple and read-only, but the UI still enters the plan workflow. This makes auto_plan = ask feel unavoidable and unpredictable: some prompts that look obviously simple still trigger plan mode because of length or words inside the content being processed.
This is distinct from #3110, which is about custom command / skill slash dispatch passing expanded text as raw scoring input. It is also related to, but separate from, #3136: once plan mode has been entered, stale/long plan task UI can remain visible or fail to follow progress. This issue is about the earlier automatic trigger.
Steps to reproduce
- Use an interactive frontend (desktop or CLI) with
agent.auto_plan = ask.
- Send a simple text transformation prompt, for example:
Translate the following text into Chinese:
The UI config controls tests, docs, issue labels, and frontend behavior. The UI config controls tests, docs, issue labels, and frontend behavior. ...
- Make the body around ~200 words, with ordinary engineering nouns in the source text.
- Observe that Reasonix may enter plan mode even though the requested action is only translation.
Expected behavior
Simple read-only prompts such as translation, summarization, rewriting, proofreading, or ordinary Q&A should not be forced into plan mode just because the input is long or because the quoted/source text contains words that look like engineering work.
Actual behavior
Reasonix can prepend the plan-mode marker and ask the model to produce a plan. If the model answers the original simple request anyway, the UI can still show the plan approval prompt afterward.
Other agent behavior for comparison
Other coding agents generally make plan mode an explicit mode or command rather than a heuristic that silently triggers from prompt length/content:
- Claude Code documents plan mode as a permission mode entered via
Shift+Tab, /plan, --permission-mode plan, or a default-mode setting: https://code.claude.com/docs/en/permission-modes
- Gemini CLI documents plan mode as an approval mode entered via
/plan, Shift+Tab, gemini --approval-mode=plan, config, or explicit natural-language planning requests: https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/plan-mode.md
- OpenAI Codex treats Plan Mode as a collaboration mode that remains active until explicitly ended by the client/developer-mode state, not as a todo/checklist heuristic: https://github.com/openai/codex/blob/main/codex-rs/collaboration-mode-templates/templates/plan.md
- Aider separates
/ask, /code, and /architect chat modes explicitly; a user can choose one message or switch mode: https://aider.chat/docs/usage/modes.html
The common pattern is that planning is user-selected, or at least explicitly requested. Reasonix currently has an automatic heuristic path that can surprise users during simple tasks.
Notes
No specific solution is proposed here yet. This issue is meant to track the problem and preserve the user-facing severity: simple prompts can still trigger auto-plan in a way the user did not ask for and cannot reliably predict.
Version line
v2 — Go rewrite (1.x), main-v2 (active development)
What happened?
agent.auto_plan = askcan automatically enter plan mode for prompts that are not actually implementation/planning tasks.This is severe because the user may be doing a simple non-mutating task and has no practical way to avoid the false trigger except disabling auto-plan globally. Once triggered, Reasonix treats the assistant response as a plan proposal and shows the plan approval UI, even when the model has already completed the simple task.
A concrete repro observed in the desktop app: ask Reasonix to translate a ~200-word English text. The text itself happened to contain engineering terms such as
UI,config,tests,docs,issue, andfrontend. The task is just translation, but auto-plan entered plan mode and showed the plan approval bar afterward.Why this is confusing
The user did not explicitly ask for planning and did not switch to plan mode. The task is simple and read-only, but the UI still enters the plan workflow. This makes
auto_plan = askfeel unavoidable and unpredictable: some prompts that look obviously simple still trigger plan mode because of length or words inside the content being processed.This is distinct from #3110, which is about custom command / skill slash dispatch passing expanded text as raw scoring input. It is also related to, but separate from, #3136: once plan mode has been entered, stale/long plan task UI can remain visible or fail to follow progress. This issue is about the earlier automatic trigger.
Steps to reproduce
agent.auto_plan = ask.Expected behavior
Simple read-only prompts such as translation, summarization, rewriting, proofreading, or ordinary Q&A should not be forced into plan mode just because the input is long or because the quoted/source text contains words that look like engineering work.
Actual behavior
Reasonix can prepend the plan-mode marker and ask the model to produce a plan. If the model answers the original simple request anyway, the UI can still show the plan approval prompt afterward.
Other agent behavior for comparison
Other coding agents generally make plan mode an explicit mode or command rather than a heuristic that silently triggers from prompt length/content:
Shift+Tab,/plan,--permission-mode plan, or a default-mode setting: https://code.claude.com/docs/en/permission-modes/plan,Shift+Tab,gemini --approval-mode=plan, config, or explicit natural-language planning requests: https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/plan-mode.md/ask,/code, and/architectchat modes explicitly; a user can choose one message or switch mode: https://aider.chat/docs/usage/modes.htmlThe common pattern is that planning is user-selected, or at least explicitly requested. Reasonix currently has an automatic heuristic path that can surprise users during simple tasks.
Notes
No specific solution is proposed here yet. This issue is meant to track the problem and preserve the user-facing severity: simple prompts can still trigger auto-plan in a way the user did not ask for and cannot reliably predict.