Degraded agent quality patterns -- week of 2026-03-31 (verification skipping, fabrication, premature surrender)

Resolved 💬 3 comments Opened Apr 3, 2026 by mydogsburneraccount Closed Apr 7, 2026

Description

Reporting a cluster of degraded agent behavior patterns observed consistently across multiple independent Claude Code sessions during the week of 2026-03-31 through 2026-04-03. These are not isolated to a single conversation -- the same patterns recur across fresh sessions with different tasks. The common thread is the agent skipping verification steps it has explicit instructions to perform, fabricating values instead of reading available documentation, and surrendering prematurely on solvable problems.

Environment

  • Claude Code version: 2.1.91
  • Model: claude-opus-4-6 (1M context)
  • Platform: WSL2 (Linux)
  • Subscription: Max plan
  • Project setup: Extensive CLAUDE.md with project instructions, .claude/rules/ files (always-loaded guardrails), project-specific operational docs with routing tables, and skills. The agent is explicitly instructed to read documentation before acting. These instructions worked reliably in prior weeks.

Observed Patterns

1. Hallucinated API parameter values

The agent fabricated parameter values for API calls instead of reading available source code or documentation. The fabricated values were syntactically valid (no errors thrown) but semantically wrong, causing silent failures. When confronted, the agent found the correct values in the actual source code within minutes -- proving the documentation was available and accessible the entire time, but was never consulted.

This is the most concerning pattern because it produces silently wrong results with no error to catch.

2. Premature "unsolvable" declarations

When an API returned incorrect results, the agent ran 2-3 surface-level attempts, then declared the problem fundamentally unsolvable ("the API is broken / doesn't support this"). When forced to investigate properly (dispatching a subagent for deeper analysis), the root cause was identified quickly -- three distinct bugs, all fixable. The agent had given up after barely scratching the surface.

3. Skipping project documentation despite explicit instructions

The workspace has CLAUDE.md files with routing tables pointing to relevant operational documentation. The agent is explicitly told to read these docs before taking infrastructure actions. Despite this, the agent repeatedly skipped reading operational docs and proceeded to act, violating documented safety rules that it would have seen had it read the files it was pointed to.

This is not a case of missing docs -- the docs exist, are referenced in always-loaded rules, and the agent has successfully read them in prior sessions.

4. Guessing instead of researching

The agent repeatedly guessed at rate limits, API behavior, and parameter constraints instead of checking documentation. This caused:

  • Hitting external API rate limits multiple times in succession
  • Risk of permanent IP bans from external services
  • Wasted tokens on retry loops that could have been avoided entirely by reading the rate limit documentation first

The pattern is: act first, guess at constraints, hit the wall, retry, hit the wall again -- instead of reading the docs once.

5. Nonsensical decisions with no justifiable basis

The agent made a categorical decision (choosing where to file a piece of information) that had zero connection to anything discussed in the conversation. The correct answer was obvious from context. When asked to explain the choice, there was no coherent justification. This suggests the agent was not tracking conversation context accurately.

6. Unverified claims about outcomes

The agent made specific quantitative claims about the expected result of an operation without verifying the underlying assumptions. When forced to get independent review (via subagent), a fundamental assumption was proven wrong -- the claimed outcome was physically impossible given the actual state of the system. The agent had the tools and knowledge to verify this assumption but did not.

7. Premature "done" declarations

The agent repeatedly attempted to declare work complete or at a "good stopping point" when significant investigation remained. Required multiple rounds of pushback to get thorough analysis. This felt like the agent optimizing for conversation brevity over task completion.

Meta-Pattern

All seven patterns share a root cause: the agent is skipping verification steps to reach a conclusion faster. It fabricates instead of reading. It guesses instead of researching. It surrenders instead of investigating. It declares "done" instead of being thorough. In every case, the correct information was available -- in project docs, in source code, in API documentation -- and the agent had the tools to access it. The agent chose the fast path over the correct path.

This is a regression from behavior observed in prior weeks (roughly mid-March), where the same workspace setup, same model, and same instructions produced agents that reliably read documentation before acting and investigated problems thoroughly before declaring them unsolvable.

What I've Ruled Out

  • Single bad conversation: This recurs across multiple fresh sessions with different tasks.
  • Missing instructions: The CLAUDE.md files, rules, and documentation all exist and are correctly loaded (verified via agent output showing them in context). The agent acknowledges the instructions exist but does not follow them.
  • Context window exhaustion: These patterns appear early in sessions, well before context limits.
  • User error: These same instructions and project structure worked correctly in prior weeks with the same model.

Expected Behavior

  • Agent reads available documentation before making API calls or infrastructure changes
  • Agent verifies assumptions before making quantitative claims
  • Agent investigates problems thoroughly before declaring them unsolvable
  • Agent follows explicit CLAUDE.md instructions that are loaded into its context
  • Agent makes decisions that are traceable to conversation context

Request

If there were model updates, prompt changes, or system instruction modifications during this period, this report may help correlate. The behavioral shift is consistent enough across sessions to suggest a systemic cause rather than stochastic variation.

View original on GitHub ↗

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