Claude Code makes major design decisions silently but asks for confirmation on trivial things
Resolved 💬 6 comments Opened May 24, 2026 by rkpandey Closed Jun 28, 2026
Description
Claude Code exhibits an inverted judgment pattern: it asks the user for confirmation on trivial, low-impact decisions while silently making significant architectural/design decisions that can have major consequences.
Example
When implementing a dynamic filtering feature for a reporting API, Claude Code:
- Asked for confirmation on trivial things like file edits and minor code changes
- Silently decided to load an entire field catalog (potentially thousands of entries per tenant) into memory as a
Map, when only 2-3 specific field names needed to be looked up from the catalog
The correct approach was obvious: extract the few unknown field names from the filter request, look up only those specific fields via a targeted query, and convert just those entries. Instead, Claude proposed passing the entire catalog as Map[String, FieldCatalogEntry] through multiple layers.
Expected Behavior
Claude Code should:
- Not ask for confirmation on trivial, low-risk, easily reversible changes
- Flag and discuss significant design decisions that affect performance, data flow, memory usage, or API signatures before implementing them
- Show better engineering judgment on efficiency — never load entire collections when only a handful of items are needed
Impact
- Wastes user time on trivial confirmations
- Introduces performance issues silently
- Erodes trust — if Claude makes poor decisions on fundamentals like data access patterns, users must review every line more carefully, reducing the productivity benefit
Environment
- Claude Code CLI
- Model: Claude Opus 4.6 (1M context)
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗