[FEATURE] Configuration and Documentation for Thinking Mode
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
First off, a huge thank you to the team for the new features in v1.0.115! The improved thinking mode with its enhanced visual effects is a fantastic addition for tackling complex tasks. The ability to temporarily disable it with /t is also a very thoughtful and useful feature for quick prompts.
This new functionality is a great step forward, and I'd like to propose a few enhancements that would make it even more powerful and user-friendly.
Motivation
Currently, the thinking mode's behavior has two main areas for improvement:
- Lack of Persistent Control: The
/tcommand is perfect for one-off prompts where thinking isn't needed. However, there's no way to disable it by default. For workflows that primarily involve simple, direct tasks, a user might want thinking mode to be off unless explicitly invoked.
- Undocumented Features: Through experimentation with prompts like "think", "think hard", and "ultrathink", I've discovered different levels of thinking (e.g.,
low,medium,max). I had to reverse-engineer these keywords and their corresponding levels, as they are not present in the official documentation. Without documentation, it's impossible for users to know:
- Which keywords trigger which level.
- What the impact of each level is on token cost, response time, and the quality of the plan.
Proposed Solution
Proposed Solution
To build on this excellent new feature, I propose the following enhancements:
1. Add Persistent Configuration for Thinking Mode
It would be extremely helpful to have a way to set the default behavior of thinking mode persistently, rather than relying solely on the temporary /t command. This could be implemented through one or more of the following methods:
- Environment Variable: A variable like
CLAUDE_CODE_THINKING_MODE=disabledcould turn it off by default for a shell session. - Setting in
settings.json: A key in~/.claude/settings.jsonor.claude/settings.json, such as"thinkingMode": "disabled", would allow for user-level or project-level control. - CLI Flag: A startup flag like
claude --no-thinkingwould be useful for scripting and one-off sessions where thinking is not desired.
This would give users the flexibility to enable thinking on-demand (opt-in) rather than disabling it on-demand (opt-out).
2. Provide Official Documentation for Thinking Levels
The different thinking levels are a powerful, nuanced feature that deserves to be officially documented. This would empower users to make informed decisions and use the tool more effectively.
The documentation, perhaps in the Common Workflows > Use extended thinking section, should include:
- Trigger Keywords: A complete list of keywords that activate thinking mode and the levels they map to (e.g.,
think-> low,think hard/megathink-> medium,think harder/ultrathink-> max). - Level Descriptions: A clear explanation of what each level (
low,medium,max) means. Does it increase the token budget for the thinking step? Does it perform a deeper analysis? - Impact Analysis: Information on how each level affects:
- Cost: The relative token consumption.
- Performance: The expected impact on response time.
- Quality: The type of tasks each level is best suited for.
- Configuration: Documentation for the
/tcommand and any new persistent configuration options (from suggestion #1).
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
The new thinking mode is a game-changer for complex problem-solving. By adding these configuration options and clear documentation, you would give users greater control, transparency, and the ability to tailor Claude Code perfectly to their individual workflows.
Thank you again for the continuous improvements and for considering this feedback
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗