claude-code - 💡(How to fix) Fix [FEATURE] Discussion mode: read-only conversational sessions with exportable artifacts

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Fix Action

Fix / Workaround

RiskMitigation
Path traversal (/save-discussion ../../CLAUDE.md)Strip path separators and .. components; reject absolute paths
Overwriting sensitive filesBlocklist CLAUDE.md, settings.json, and other known-sensitive filenames
Silent overwrite of existing fileBlock or require explicit confirmation if target exists
Escaping designated directoryWrite only to an allowlisted location (e.g. .claude/discussions/)
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

Claude Code has no way to have a purely exploratory conversation without risking unintended writes to memory files, plan artifacts, project docs, or other persistent state. The existing plan mode is the closest approximation, but it imposes a decision-tree constraint — every turn must end with either ExitPlanMode or AskUserQuestion — which is the wrong mental model for open-ended discussion. It forces resolution when none is intended.

The result: users either accept the risk of side effects in a normal session, or they use plan mode and fight its exit constraints throughout a casual conversation.

Proposed Solution

A dedicated discussion mode — either a slash command (/discuss) or a launch flag (--discuss) — that:

  • Allows full read access (Read, Grep, Glob, read-only Bash)
  • Blocks all implicit writes (file edits, memory updates, plan artifact mutations)
  • Has no turn-resolution constraint — conversation can continue freely without forcing a plan or a clarifying question
  • Provides a /save-discussion [filename] command to export the conversation as a Markdown artifact for use in a future planning session

The saved artifact can then be referenced via the existing @filename syntax when starting a real planning session, restoring context without re-explaining the discussion.

Alternative Solutions

  • Remain in "plan mode" and deal with the prompts to exit
  • Create a skill which can do most of the work, while not having the "read-only" protection. Loss of full conversation for a generated summarization
  • Export the session and maybe the import can make appropriate inferences from it?

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

Having a discussion on how feasible an idea might be, walking through pitfalls, technologies, approaches, etc. The conversation usually spans several topics, technical and non-technical (documentation, user adoption, etc), which don't fit a typical "work on code" approach.

Imagine this as a more informal pre-planning discussion with a co-worker, spawned from a hallway conversation. Ironing out major details and considerations, finding out "do we have something like this already?"

Additional Context

Security Considerations

/save-discussion must not be a general filesystem write:

RiskMitigation
Path traversal (/save-discussion ../../CLAUDE.md)Strip path separators and .. components; reject absolute paths
Overwriting sensitive filesBlocklist CLAUDE.md, settings.json, and other known-sensitive filenames
Silent overwrite of existing fileBlock or require explicit confirmation if target exists
Escaping designated directoryWrite only to an allowlisted location (e.g. .claude/discussions/)

The key distinction: discussion mode blocks implicit writes (side effects). /save-discussion is an explicit, user-initiated write - categorically different, and permitted by the user invoking it.

Out of Scope

  • This is not a general read-only filesystem API
  • /save-discussion is not a general-purpose file write command — it saves the current conversation transcript only, to a designated directory only
  • This is not a replacement for plan mode; plan mode's exit constraints are appropriate when implementation planning is the actual goal
  • This does not affect tool permissions in normal or plan mode

Related Issues

  • #47342 - Ask mode (overlapping intent, different framing)
  • #48824 - Read-only session mode for side chats (closed as duplicate of #47342, but captures the persistent-state-pollution concern this also addresses)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING