Model fails to update all version locations despite explicit checklist in CLAUDE.md

Resolved 💬 4 comments Opened Apr 12, 2026 by ukemaker Closed May 24, 2026

Problem

The model consistently fails to update version strings in all required locations, even when CLAUDE.md contains an explicit versioning checklist and the user has repeatedly corrected this behavior within the same session.

Specific Failure

CLAUDE.md contains a micro bump checklist:

  1. Update version constant in source (e.g. APP_VERSION)
  2. Update package.json (or equivalent)
  3. Update server health/version endpoints
  4. Regenerate cache-busted assets (build step)
  5. Commit and push

The project has version strings in three places:

  • backend/db.pyAPP_VERSION = "0.2.14" (updated)
  • frontend/index.html → cache-bust params styles.css?v=0.2.14, app.js?v=0.2.14 (updated)
  • frontend/index.html → visible display <span class="app-version">v0.2.12</span> (NOT updated)

The display version controls what the user sees in the UI. The cache-bust version controls whether the browser loads new assets. Both are critical. The model updated some but not all, creating a version mismatch that is visible to the user.

Pattern

This is not a one-time mistake. In this session:

  1. User explained version bumping is critical for cache-busting
  2. Model experienced the consequence (browser served stale JS, feature didn't work)
  3. Model added version checking to CLAUDE.md Self-Check Protocol
  4. Model saved it to persistent memory
  5. Model STILL failed to update all version locations on subsequent changes
  6. User had to correct multiple times within the same conversation

Why This Matters

  • Cache-bust version mismatch = browser serves stale files = features appear broken
  • Display version mismatch = user sees wrong version = can't track what's deployed
  • The model has the checklist, has the memory, has been corrected — and still doesn't execute consistently
  • This is the same root cause as issue #46905 — CLAUDE.md rules are treated as knowledge, not executable constraints

Expected Behavior

When the model bumps a version, it should grep for ALL occurrences of the old version string and update every one. This is a mechanical operation that should never be partial.

Environment

  • Claude Opus 4.6 (1M context)
  • Claude Code VSCode extension
  • Windows 10

View original on GitHub ↗

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