GPT 5.5 degradation over time

Open 💬 10 comments Opened Jun 7, 2026 by Ffinnis
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

GPT-5.5 Codex behavior appears degraded over time in a complex engineering workflow

Type of Behavior Issue

Other unexpected behavior / suspected Codex model or runtime quality regression.

Summary

Since the GPT-5.5 rollout window on April 24, 2026, my local Codex usage shows a material degradation in workflow quality over time. This is based on local Codex session JSONL files, local Codex thread metadata, and local app logs.

The strongest signal is not one isolated bad answer. It is a trend across many sessions:

  • More user frustration/correction prompts over time.
  • More repeated restarts with similar prompts.
  • More visible model concessions such as "you're right" / equivalent Russian phrasing.
  • More stop-like or premature-completion language.
  • More reasoning-loop phrases in visible assistant messages.
  • The trend remains visible when comparing the same anonymized projects over time.

This is observational local telemetry, not a formal OpenAI-side A/B replay. It is still strong enough to justify investigation.

What I Expected

Codex should behave consistently across long-running engineering workflows:

  • read relevant files/logs before making changes;
  • follow explicit instructions and repository conventions;
  • avoid premature stopping or permission-seeking when the task is clearly not done;
  • avoid repeated incorrect fixes that require user interruption or correction;
  • maintain roughly stable quality inside the same projects over time.

What Happened

Local logs show that later GPT-5.5 sessions required substantially more correction and supervision.

Aggregate GPT-5.5 Trend

| Period | Dates | Prompts | Frustration-marked prompts | Frustration rate | Score / 100 prompts | Tool calls | User interrupts / 1K tool calls |
|---|---:|---:|---:|---:|---:|---:|---:|
| Baseline | Apr 24 - May 10 | 786 | 31 | 3.9% | 13.2 | 11,930 | 22.55 |
| Transition | May 11 - May 24 | 1,097 | 64 | 5.8% | 18.6 | 24,781 | 11.42 |
| Late | May 25 - Jun 7 | 819 | 99 | 12.1% | 57.8 | 20,006 | 16.10 |

Overall GPT-5.5 sample:

  • 2,702 user prompts
  • 56,717 tool calls
  • 530 prompt-bearing sessions
  • 194 / 2,702 prompts with frustration markers
  • 21 repeated-start clusters / 67 repeated starts

Behavioral Signals

| Metric | Baseline | Transition | Late |
|---|---:|---:|---:|
| Frustration indicators in user prompts | 3.9% | 5.8% | 12.1% |
| User corrections | 17 | 30 | 65 |
| User interrupts | 269 | 283 | 322 |
| Stop-like assistant phrases | 8 | 2 | 32 |
| Reasoning-loop phrases | 23 | 34 | 98 |
| Model concessions: "you're right" / equivalent | 16 | 33 | 18 |
| Stronger self-admitted failures | 2 | 1 | 5 |

The "you're right" signal is important because it usually appears after the user corrects the model. It is not automatically bad, but at this volume it is a useful proxy for the model needing external correction.

Same-Project Controls

Project names are anonymized for NDA reasons. The same-project trend weakens the explanation that this is only task mix.

| Project | Baseline | Transition | Late |
|---|---:|---:|---:|
| Project A | 2 / 65 (3.1%) | 11 / 173 (6.4%) | 28 / 138 (20.3%) |
| Project B | 4 / 140 (2.9%) | 11 / 260 (4.2%) | 40 / 269 (14.9%) |
| Project C | 9 / 134 (6.7%) | 4 / 95 (4.2%) | 7 / 105 (6.7%) |
| Project D | 8 / 115 (7.0%) | 3 / 61 (4.9%) | 0 / 38 (0.0%) |
| Project E | 5 / 176 (2.8%) | 22 / 448 (4.9%) | 0 / 99 (0.0%) |
| Project F | n/a | n/a | 8 / 44 (18.2%) |

The strongest same-project regressions are Project A and Project B.

Tool-Behavior Check

One important nuance: my data does not show the exact same "research-first -> edit-first" collapse described in some other degradation reports.

For GPT-5.5, Read:Edit actually increased late:

| Period | Read:Edit | Research:Mutation | Edit without prior read | Edit without recent read |
|---|---:|---:|---:|---:|
| Baseline | 2.81 | 3.82 | 11.0% | 11.0% |
| Transition | 3.21 | 4.47 | 12.9% | 13.3% |
| Late | 5.10 | 5.98 | 10.1% | 10.2% |

So the issue is not simply "the model stopped reading before editing." The stronger evidence is the increase in correction/frustration signals, model concessions, stop-like language, same-project degradation, and repeated restarts.

Reasoning Metrics Caveat

Codex reasoning content in my local logs is encrypted/redacted, so I cannot inspect reasoning blocks directly.

The available proxy is reasoning_output_tokens from local token-count events:

| Period | Token count events | Median reasoning tokens | Mean reasoning tokens |
|---|---:|---:|---:|
| Baseline | 10,639 | 18 | 121 |
| Transition | 21,405 | 18 | 117 |
| Late | 12,817 | 23 | 131 |

This does not prove reasoning quality changed. It only shows that visible token counters alone do not explain the degradation.

Methodology

Data sources:

  • Local Codex session JSONL files.
  • Local Codex thread metadata database.
  • Local Codex app log database.

Date range:

  • Start: April 24, 2026 14:04 Asia/Novosibirsk, based on the local GPT-5.5 publish/promo window.
  • End: June 7, 2026.

Exclusions:

  • The analysis thread itself was excluded to avoid contaminating profanity/frustration counts.
  • Public issue text excludes raw prompts, local file paths, repository names, and source excerpts for NDA reasons.

Classification:

  • Frustration markers are rule-based English/Russian patterns plus profanity lexicons.
  • "User correction" includes phrases equivalent to "not what I asked", "you didn't", "wrong", "again", and Russian equivalents.
  • "Model concession" includes "you're right", "you are right", "ты прав", and "вы правы".
  • Tool behavior was parsed from local function/custom tool-call events.

Requested Investigation

  1. Compare GPT-5.5 model/backend snapshots used by Codex between April 24, 2026 and June 7, 2026.
  2. Check whether Codex runtime prompts, tool planning, or tool-call policies changed during this period.
  3. Replay representative failed sessions against earlier/current snapshots, if available internally.
  4. Separate model-quality changes from connector/runtime failures.
  5. Expose stable local telemetry for power users: reasoning token counters, tool-planning metrics, interruption/correction counters, and model concession counters.

python3 codex_degradation_analyzer_public.py \
--codex-home ~/.codex \
--cutoff "2026-04-24T14:04:00+07:00" \
--timezone "YOUR_ZONE" \
--model gpt-5.5 \
--out ./codex_degradation_public_out

codex_degradation_analyzer_public.py

<img width="1280" height="720" alt="Image" src="https://github.com/user-attachments/assets/4f5f4bef-3615-45b8-8807-ef34d1c63f1f" />

<img width="1280" height="720" alt="Image" src="https://github.com/user-attachments/assets/c3b083c6-b056-45b1-9c66-ccc0bd8f018e" />

View original on GitHub ↗

10 Comments

github-actions[bot] contributor · 1 month ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #25922

Powered by Codex Action

SpyrosBou · 1 month ago

Similar findings on my end. Codex has stoppped following through, answering and gathering the right information preemptively as it would initially - it now half-bakes tasks and provides incomplete answers with guesses, even when instructions specify differently. Very annoying. Iterative model deployment is honestly a nightmare, we get amazing day 1 models that turn into garbage. You can hardly justify the doubling in price for 5.5 after these regressions.

Here's hoping for hardset model deployments with explicit patch notes and versioning. This is the standard for all software services, I don't see why this service should be any different. We should be able to know gpt 5.5 v1 from vX and anything inbetween. This benefits both the Developers, enabling them to pinpoint bugs and issues, and improves UX by providing clarity, understanding, reducing confusion and frustration.

planetzalex · 1 month ago

Standard pattern. New model comes out, works great for a month or so, and then we all get cortisol spikes. I hate this game.

hlky · 1 month ago

I ran the same style of local analysis on my own Codex data and got a very similar result. I extended the lists of profanity and corrections, so the absolute percentages here should not be compared 1:1 with the original post, but the overall trend is similar.

My GPT-5.5 results:

| Period | Prompts | Frustration rate | Score / 100 | Tool calls | Interrupts / 1K tools |
|---|---:|---:|---:|---:|---:|
| baseline | 1146 | 4.5% | 9.5 | 30005 | 1.27 |
| transition | 2356 | 0.3% | 2.7 | 38768 | 1.08 |
| late | 715 | 11.3% | 81.7 | 16287 | 2.09 |

The late period is not just "a bit worse":

  • frustration rate jumps from 0.3% in transition to 11.3% in late
  • frustration score jumps from 2.7 to 81.7 per 100 prompts
  • edit-without-prior-read rises from 55.8% to 78.0%
  • edit-without-recent-read rises from 58.4% to 82.7%

For one project in particular, the difference is even clearer:

  • GPT-5.5 transition: 1786 prompts, 5 frustrated (0.3%)
  • GPT-5.5 late: 219 prompts, 51 frustrated (23.3%)

I also ran the same analyzer on GPT-5.4 for comparison. My 5.4 sample is mostly late-period usage because I only switched recently after getting frustrated with 5.5, so this is not a full apples-to-apples baseline/transition/late comparison. I think it is still useful as a late-period reference, and it looks materially better than GPT-5.5 late on the same general workflow.

| Model / Period | Prompts | Frustration rate | Score / 100 | Edit without prior read | Edit without recent read |
|---|---:|---:|---:|---:|---:|
| GPT-5.5 late | 715 | 11.3% | 81.7 | 78.0% | 82.7% |
| GPT-5.4 late | 547 | 6.0% | 14.0 | 64.5% | 63.3% |

For the same project specifically:

  • GPT-5.5 late: 219 prompts, 51 frustrated (23.3%)
  • GPT-5.4 late: 302 prompts, 30 frustrated (9.9%)

Of course this does not take into account the kind of work being completed at any one time, perhaps some tasks are just more frustrating that others, and if this was isolated to my own usage I would be more inclined to agree with that sentiment, however this is a widely reported issue and the data does point towards a degradation of model behavior.

I also looked at Codex CLI version. There is some correlation, but for me it does not look like the main cause. I would treat the smaller CLI-version buckets cautiously, though, because some of them have fairly small prompt counts.

  • newer 5.5-era CLI versions do sometimes look worse
  • however, GPT-5.4 on newer CLI builds still looks noticeably better than GPT-5.5 late
  • so my current read is: model/runtime behavior change is the primary factor, CLI version is at most a secondary modifier

My current read is that the primary effect is a model/runtime behavior shift in GPT-5.5 over time, with CLI version at most acting as a secondary modifier.

More detailed metrics

<details><summary>5.5</summary>
<p>

Period Metrics

| Period | Prompts | Frustration rate | Score / 100 | Tool calls | Interrupts / 1K tools | You are right | User corrections |
|---|---:|---:|---:|---:|---:|---:|---:|
| baseline | 1146 | 4.5% | 9.5 | 30005 | 1.27 | 1 | 98 |
| transition | 2356 | 0.3% | 2.7 | 38768 | 1.08 | 0 | 40 |
| late | 715 | 11.3% | 81.7 | 16287 | 2.09 | 0 | 71 |

Tool Behavior

| Period | Read:Edit | Research:Mutation | Edit without prior read | Edit without recent read |
|---|---:|---:|---:|---:|
| baseline | 0.48 | 2.19 | 56.0% | 57.1% |
| transition | 0.99 | 2.22 | 55.8% | 58.4% |
| late | 0.59 | 1.90 | 78.0% | 82.7% |

Tool Behavior Detail

| Period | Tools/Prompt | Search calls | Test:Mutation | Post-mutation tests | Unique reads | Unique edits | Shell writes |
|---|---:|---:|---:|---:|---:|---:|---:|
| baseline | 26.18 | 5595 | 0.25 | 84.2% | 2640 | 665 | 0.0% |
| transition | 16.46 | 6205 | 0.09 | 98.6% | 4965 | 1553 | 0.2% |
| late | 22.78 | 2753 | 0.28 | 99.3% | 1358 | 579 | 0.1% |

CLI Version Frustration

| CLI Version | Sessions | Prompts | Frustration rate | Score / 100 | User corrections | You are right |
|---|---:|---:|---:|---:|---:|---:|
| 0.137.0-alpha.4 | 4 | 15 | 0.0% | 0.0 | 2 | 0 |
| 0.135.0-alpha.1 | 14 | 162 | 28.4% | 170.9 | 26 | 0 |
| 0.133.0 | 8 | 280 | 4.6% | 17.4 | 34 | 0 |
| 0.131.0-alpha.9 | 115 | 812 | 3.5% | 38.1 | 33 | 0 |
| 0.128.0-alpha.1 | 631 | 2502 | 0.2% | 1.2 | 84 | 0 |
| 0.126.0-alpha.8 | 95 | 419 | 11.0% | 21.6 | 27 | 1 |
| 0.125.0-alpha.3 | 11 | 27 | 0.0% | 0.0 | 3 | 0 |

CLI Version by Period

| Period | CLI Version | Sessions | Prompts | Frustration rate | Score / 100 | Tools/Prompt | Read:Edit | Edit without prior read |
|---|---|---:|---:|---:|---:|---:|---:|---:|
| baseline | 0.128.0-alpha.1 | 102 | 700 | 0.7% | 2.7 | 18.83 | 0.38 | 65.9% |
| baseline | 0.126.0-alpha.8 | 95 | 419 | 11.0% | 21.6 | 37.84 | 0.79 | 20.4% |
| baseline | 0.125.0-alpha.3 | 11 | 27 | 0.0% | 0.0 | 35.85 | 0.40 | 93.7% |
| transition | 0.131.0-alpha.9 | 110 | 554 | 1.1% | 9.2 | 22.65 | 0.42 | 65.5% |
| transition | 0.128.0-alpha.1 | 530 | 1802 | 0.1% | 0.7 | 14.55 | 2.17 | 35.9% |
| late | 0.137.0-alpha.4 | 4 | 15 | 0.0% | 0.0 | 75.40 | 0.40 | 95.0% |
| late | 0.135.0-alpha.1 | 14 | 162 | 28.4% | 170.9 | 36.19 | 0.48 | 59.8% |
| late | 0.133.0 | 8 | 280 | 4.6% | 17.4 | 16.45 | 0.83 | 83.1% |
| late | 0.131.0-alpha.9 | 9 | 258 | 8.5% | 100.2 | 18.17 | 0.54 | 90.7% |

CLI Version Tool Behavior

| CLI Version | Tools/Prompt | Read:Edit | Research:Mutation | Test:Mutation | Edit without prior read | Shell writes |
|---|---:|---:|---:|---:|---:|---:|
| 0.137.0-alpha.4 | 75.40 | 0.40 | 1.39 | 0.50 | 95.0% | 0.0% |
| 0.135.0-alpha.1 | 36.19 | 0.48 | 2.19 | 0.26 | 59.8% | 0.3% |
| 0.133.0 | 16.45 | 0.83 | 2.20 | 0.25 | 83.1% | 0.0% |
| 0.131.0-alpha.9 | 21.23 | 0.45 | 1.35 | 0.18 | 72.0% | 0.0% |
| 0.128.0-alpha.1 | 15.75 | 0.91 | 2.12 | 0.17 | 57.0% | 0.2% |
| 0.126.0-alpha.8 | 37.84 | 0.79 | 5.96 | 0.14 | 20.4% | 0.0% |
| 0.125.0-alpha.3 | 35.85 | 0.40 | 1.38 | 0.00 | 93.7% | 0.0% |

</p>
</details>

<details><summary>5.4</summary>
<p>

Period Metrics

| Period | Prompts | Frustration rate | Score / 100 | Tool calls | Interrupts / 1K tools | You are right | User corrections |
|---|---:|---:|---:|---:|---:|---:|---:|
| baseline | 2 | 0.0% | 0.0 | 63 | 0.00 | 0 | 0 |
| transition | 0 | 0.0% | 0.0 | 0 | 0.00 | 0 | 0 |
| late | 547 | 6.0% | 14.0 | 6035 | 1.99 | 2 | 44 |

Tool Behavior

| Period | Read:Edit | Research:Mutation | Edit without prior read | Edit without recent read |
|---|---:|---:|---:|---:|
| baseline | 3.00 | 3.80 | 100.0% | 100.0% |
| transition | | | 0.0% | 0.0% |
| late | 0.38 | 1.44 | 64.5% | 63.3% |

Tool Behavior Detail

| Period | Tools/Prompt | Search calls | Test:Mutation | Post-mutation tests | Unique reads | Unique edits | Shell writes |
|---|---:|---:|---:|---:|---:|---:|---:|
| baseline | 31.50 | 10 | 0.00 | 0.0% | 19 | 3 | 0.0% |
| transition | 0.00 | 0 | | 0.0% | 0 | 0 | 0.0% |
| late | 11.03 | 1113 | 0.24 | 99.5% | 622 | 286 | 1.0% |

CLI Version Frustration

| CLI Version | Sessions | Prompts | Frustration rate | Score / 100 | User corrections | You are right |
|---|---:|---:|---:|---:|---:|---:|
| 0.137.0-alpha.4 | 12 | 298 | 8.4% | 22.9 | 21 | 1 |
| 0.136.0-alpha.2 | 32 | 187 | 4.3% | 4.6 | 17 | 0 |
| 0.133.0 | 1 | 55 | 0.0% | 0.0 | 5 | 1 |
| 0.128.0-alpha.1 | 1 | 1 | 0.0% | 0.0 | 0 | 0 |
| 0.126.0-alpha.8 | 1 | 1 | 0.0% | 0.0 | 0 | 0 |
| 0.0.0 | 1 | 7 | 0.0% | 0.0 | 1 | 0 |

CLI Version by Period

| Period | CLI Version | Sessions | Prompts | Frustration rate | Score / 100 | Tools/Prompt | Read:Edit | Edit without prior read |
|---|---|---:|---:|---:|---:|---:|---:|---:|
| baseline | 0.128.0-alpha.1 | 1 | 1 | 0.0% | 0.0 | 28.00 | | 0.0% |
| baseline | 0.126.0-alpha.8 | 1 | 1 | 0.0% | 0.0 | 35.00 | 0.67 | 100.0% |
| late | 0.137.0-alpha.4 | 12 | 298 | 8.4% | 22.9 | 10.23 | 0.33 | 71.6% |
| late | 0.136.0-alpha.2 | 32 | 187 | 4.3% | 4.6 | 14.86 | 0.50 | 52.5% |
| late | 0.133.0 | 1 | 55 | 0.0% | 0.0 | 1.13 | | 0.0% |
| late | 0.0.0 | 1 | 7 | 0.0% | 0.0 | 20.86 | 0.25 | 37.5% |

CLI Version Tool Behavior

| CLI Version | Tools/Prompt | Read:Edit | Research:Mutation | Test:Mutation | Edit without prior read | Shell writes |
|---|---:|---:|---:|---:|---:|---:|
| 0.137.0-alpha.4 | 10.23 | 0.33 | 0.96 | 0.15 | 71.6% | 0.0% |
| 0.136.0-alpha.2 | 14.86 | 0.50 | 2.46 | 0.33 | 52.5% | 3.1% |
| 0.133.0 | 1.13 | | | | 0.0% | 0.0% |
| 0.128.0-alpha.1 | 28.00 | | | 0.00 | 0.0% | 0.0% |
| 0.126.0-alpha.8 | 35.00 | 0.67 | 2.20 | 0.00 | 100.0% | 0.0% |
| 0.0.0 | 20.86 | 0.25 | 1.60 | 0.68 | 37.5% | 0.0% |

</p>
</details>

<details><summary>Script</summary>
<p>

codex_degradation_analyzer_public.py

</p>
</details>

Catkartikwastaken · 1 month ago

codex completely ruined my repo's main function is there any possible temporary solution to this?

planetzalex · 1 month ago

The last 72 hours have been unbearable. Typical OpenAI to not acknowledge or give a shit. Fuck you.

codex completely ruined my repo's main function is there any possible temporary solution to this?

use the chinese models

JoshuaSeth · 1 month ago

It feels horrible for the last 5 days and degraded for a couple of weeks. Normally when I tell it to work for at least 2 hours on an open ended task with constantly improvable target, it did so. Now when asked the same thing, it will just try to wait out the 2 hours?

That is just a single anecdotal situation. Having this constantly with all our subscriptions in the last days.

Feels like one of those horrible token optimized *-max models we had back in the day.

Intentional or unintentional they can't handle both normal 5.5 usage and 5.6 training/tollout/testing?

Catkartikwastaken · 1 month ago

i have switched to zed and glm 5.2
I think im better now @planetzalex

jankolar832 · 17 days ago

I am observing the same pattern with GPT-5.4 that I saw a few months ago with GPT-5.3.

During the first few weeks after GPT-5.3 was released, it produced high-quality outputs. However, a few weeks before GPT-5.4 came out, the quality dropped significantly.

Now I am seeing the same thing with GPT-5.4. There are days when using it results in negative productivity: it is faster to code manually than to fix a simple task through dozens of corrections.

zxsleebu · 16 days ago

it's degraded horribly in the last few days. degraded so bad that it's almost impossible to work with. same codebase, same tasks, same harness, same model, different outcome. i hope it's just a "preparation" for an upcoming 5.6 release