[FEATURE] Discussion mode: read and talk, no plan, no edits — the missing mode between chat and plan

Status Fixed / completed
Reported on v2.1.257
Maintainer reply None cached
Activity 1 comment · opened Sep 1, 2026 · closed Sep 14, 2026

Summary

A permission mode in the Shift+Tab cycle — call it discuss — in which Claude can read, search and explain but cannot edit, cannot run side-effecting commands, and does not produce a plan. Plan mode is "research, then propose changes". Discussion mode is "research, then talk". Today the second has to be faked with the first, and the fake fails at exactly the moment it matters.

What exists today, and where each one fails

Plan mode. Docs: "Plan mode tells Claude to research and propose changes without making them … When the plan is ready, Claude presents it and asks how to proceed." The design goal is a plan. If what you wanted was a conversation — about a codebase you do not own, an architecture you are weighing, a bug you are not yet sure is a bug — plan mode keeps steering toward the artefact. In practice:

  • Claude decides when "the plan is ready", presents it, and the approval prompt takes the screen. The choices are approve (into one of the execution modes) or "No, keep planning: stay in plan mode and tell Claude what to change". There is no "put that aside, I was still talking".
  • "Keep planning" resumes planning, so the next turn tends to present another plan. Users in #5787 described exactly this: "without constantly being presented with plans to reject", "make plan mode less keen to present a plan until asked".
  • With the prompt up, the conversation behind it is not the thing on screen. The exchange you were having is interrupted by a document you did not ask for, and answering the document is the only way to get your conversation back.
  • Shift+Tab leaves plan mode without approving — into a mode where edits are allowed, which is not where a discussion belongs either.

Default mode plus "please don't edit anything". Advisory only. A prompt-level instruction is one strong nudge from being overridden, and the model is already asked to infer, per message, whether you are thinking aloud or asking for a change. Inference is the wrong tool for a state the user knows and could simply set.

Permission rules / --disallowedTools. Enforces the no-edit half, but it is per-launch or per-settings, invisible in the status bar, does nothing about the plan artefact, and is not what anyone reaches for mid-session when a conversation turns exploratory.

Output styles / CLAUDE.md. Same advisory limitation as prose instructions.

Prior art — asked for since 2025, never actually decided

  • #5787 Claude Code Discuss Mode: 17 comments, closed by the inactivity bot, never a maintainer verdict. Two users posted "still an issue" after the close.
  • #6957 (mine) Discussion-Only Mode: closed by the same bot, then locked — which is why this is a new issue rather than a comment.
  • #1946 /readonly / /ask: closed as completed with a pointer to plan mode; a later comment notes MCP tools with write side-effects are not stopped by it.
  • #6650 Know when to just answer vs execute: the intent-inference framing of the same need, closed not-planned.

Elsewhere this is table stakes: Cursor and GitHub Copilot ship an explicit Ask mode beside their agent modes; Aider has /ask. None of them route "let's talk about it" through a plan-approval dialog.

Proposed behaviour

  • discuss in the Shift+Tab cycle, --permission-mode discuss, and /discuss as a one-prompt prefix, mirroring /plan.
  • Tool policy = plan mode's read-only set (Read, Grep, Glob, LS, WebFetch, WebSearch, the exploratory Bash plan mode already permits, MCP tools by allowlist) minus ExitPlanMode and the plan-file write. No plan is produced, so there is nothing to approve and no modal is ever raised.
  • Model instruction: the deliverable is the conversation. Analyse, compare, explain, disagree; do not draft an implementation plan unless asked, and if asked, say "switch to plan mode and I'll write it up" rather than switching unilaterally.
  • Exit is the user's, not the model's: Shift+Tab to plan (the whole discussion carries into planning) or to an editing mode. "OK, plan it" while in discuss mode may offer the switch, never perform it.
  • Status bar: ⏸ discuss mode on, so the state is as visible as plan mode's.

The steelman against building it, answered

"Plan mode already does this." It does the tool policy. It does not do the absence of a plan, and the plan is the problem: an approval modal is a forced choice, and a forced choice at the wrong moment breaks a line of thought.

"Just tell Claude not to edit." Then why does plan mode enforce it in the permission layer rather than in prose? The argument that justified plan mode justifies this.

"Another mode adds cycle complexity." It is plan mode with one tool removed and one system-prompt line changed — the smallest possible mode. It could even ship as a plan-mode setting (plan.presentPlan: "onRequest") if the cycle is sacred; the behaviour matters more than the shape.

"The model should infer it." It tries, and the failures are asymmetric: an unwanted plan costs a modal and a broken thread; an unwanted edit costs a diff. A user who sets a mode is removing the inference. That is the point.

Requests

  1. A read-and-talk mode with enforced no-edit, no-plan semantics, reachable from Shift+Tab, --permission-mode, and a /discuss prefix.
  2. Until then, a plan-mode setting that stops the plan being presented until the user asks for it.
  3. Whichever way it goes, a maintainer decision rather than a bot close — #5787 and #6957 both timed out with the demand intact.

Environment

Claude Code 2.1.257, Linux. Related: #5787, #6957, #1946, #6650.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗