[FEATURE] Add "chat" permission mode: skip tool pool assembly for conversational sessions
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Every Claude Code session loads tool definitions into context on every message, regardless of whether the current task requires any tools. For conversational turns like concept questions, architecture discussions, explanations, none of these tools will be called but will consume context tokens on every message. There's currently no way to opt out of this overhead within a Claude Code session.
Proposed Solution
Add a chat permission mode to the existing set (default, acceptEdits, plan, dontAsk, auto, bypassPermissions). Unlike existing modes which control whether tools can execute, this mode would return an empty or minimal tool set at the context assembly stage — before the permission gate — reducing fixed token overhead for sessions that don't need agentic behavior. CLAUDE.md loading could also be skipped in this mode.
Alternative Solutions
- A --no-tools flag at session startup that achieves the same result without adding a named permission mode.
- A claude.ai desktop wrapper that would pull from conversation subscription usage.
Priority
Medium - Would be very helpful
Feature Category
Performance and speed
Use Case Example
Running a conversational Claude session alongside an active Claude Code agentic session in a split VS Code layout. Claude Code handles file edits and tool execution; the chat-mode session handles questions, explanations, and architecture discussion, without paying the tool definition overhead on every conversational message. It would realistically replace the claude.ai desktop tab that I'd have running in parallel that I ask for conversational responses such as conceptual questions or architectural examples.
Additional Context
Questions for the Team
Do existing permission modes affect what gets loaded into context, or only what can execute? Does plan mode reduce token overhead at all? Is context assembly the right intervention point, or would this need to work differently? Would this even be feasible?
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗