Model fails to update all version locations despite explicit checklist in CLAUDE.md
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:
- Update version constant in source (e.g.
APP_VERSION) - Update
package.json(or equivalent) - Update server health/version endpoints
- Regenerate cache-busted assets (build step)
- Commit and push
The project has version strings in three places:
backend/db.py→APP_VERSION = "0.2.14"(updated)frontend/index.html→ cache-bust paramsstyles.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:
- User explained version bumping is critical for cache-busting
- Model experienced the consequence (browser served stale JS, feature didn't work)
- Model added version checking to CLAUDE.md Self-Check Protocol
- Model saved it to persistent memory
- Model STILL failed to update all version locations on subsequent changes
- 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
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗