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:

  1. Asked for confirmation on trivial things like file edits and minor code changes
  2. 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)

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗