没有不值得去解决的问题,也没有不值得去学习的技术!

How I Fixed ChatGPT “Error in Message Stream” and Reduced Intelligence: Cutting Parallel Long Tasks and My OpenAI Support Experience

[Figure 1: Multiple ChatGPT sessions experiencing "Error in message stream" simultaneously]

作者:

在

For a while, I frequently encountered a specific ChatGPT issue:

Error in message stream

The English interface usually displays:

Error in message stream

For casual chatting, this issue is at most a minor inconvenience requiring you to resend a message. However, my use case is not casual chatting; I consistently run long-duration tasks on ChatGPT, such as translation generation, independent review, code analysis, and document organization.

Many of these tasks last over 20 minutes per run.

Therefore, when an “Error in message stream” occurs during the latter half of a task, the loss is significant. Sometimes, after extensive reading, analysis, and processing, the task fails to complete properly due to the message stream interruption.

More troublingly, during the period when these errors were most frequent, I observed another phenomenon:

A noticeable degradation in ChatGPT’s execution quality.

I casually refer to this as “dumbing down.”

For example, it would skip explicitly required project specifications; it would start regenerating from scratch despite an existing recovery path; it would forget project facts just confirmed moments earlier; it would ask questions that previously needed no reconfirmation; and it would lose context consistency midway through long tasks.

Eventually, I adjusted my concurrent usage of ChatGPT.

The result was surprising:

The “Error in message stream” essentially stopped occurring, and the noticeable “dumbing down” disappeared.

In retrospect, I have most likely found a solution that works exceptionally well for me.


1. When the problem was worst: 6 ChatGPT tabs, 3 long tasks running in parallel

My daily workflow is somewhat unique.

I maintain a Go multilingual localization project, frequently running tasks like translation generation, TranslationUnit review, Glossary Review, Locale Surface Review, and code/repository analysis simultaneously.

These are not requests that finish in a few seconds.

Often, a single task lasts over twenty minutes.

When the problem was at its worst, I had about 6 ChatGPT tabs open simultaneously in Firefox, with up to 3 tabs executing long, high-intensity tasks at the same time.

The key factor here is not “having 6 tabs open.”

It is this:

A single ChatGPT account running 3 heavy tasks in parallel, each lasting over twenty minutes.

During that period, the “Error in message stream” started appearing frequently.

And it was not isolated to any specific Conversation.

[Figure 1: Multiple ChatGPT sessions experiencing "Error in message stream" simultaneously]
[Figure 1: Multiple ChatGPT sessions experiencing “Error in message stream” simultaneously]

I later found that even creating a new Conversation could result in the same message stream error almost immediately.

[Figure 2: A newly created ChatGPT session also experiencing "Error in message stream"]
[Figure 2: A newly created ChatGPT session also experiencing “Error in message stream”]

Sometimes, a task had been running for a long time and had already completed numerous intermediate reading and processing steps, only to fail suddenly at the end.

[Figure 3: "Error in message stream" occurring during a long translation task]
[Figure 3: “Error in message stream” occurring during a long translation task]

This is why the issue affected me so heavily.

For a task lasting a few minutes, retrying after a failure might be acceptable.

But for a task that has been running for twenty minutes or more, the cost of starting over is entirely different.


2. Meanwhile, I also felt ChatGPT was “dumbing down”

“Dumbing down” here is not an official technical term; it is simply my description of the change in user experience.

The most obvious characteristic was not “the model suddenly unable to answer questions,” but a clear degradation in execution stability within complex workflows.

For example, project rules it previously followed were suddenly ignored; it started regenerating instead of recovering as explicitly instructed; the exact scope I provided was expanded; previously stable Reviewer/Generation roles became confused; established project facts were overlooked.

This degradation sometimes occurred in the same timeframe as the message stream errors.

So my intuition at the time was:

These two phenomena might not be entirely independent.

Of course, gut feeling alone cannot prove the cause.

What really made me suspect rate limiting was capturing network logs during a failure later on.


3. OpenAI Support asked me to capture a HAR of an actual failure

When I first contacted OpenAI Support, the agent initially interpreted the issue as an anomaly specific to a single Conversation.

But I later clarified:

This problem is not unique to any one Conversation; it affects multiple Conversations, including newly created ones.

The agent then asked me to capture a HAR network log the next time the issue occurred during normal use.

[Figure 4: OpenAI Support requesting a HAR network log capture upon the next failure]
[Figure 4: OpenAI Support requesting a HAR network log capture upon the next failure]

This step itself was fine.

I also did not want to intentionally trigger errors just for testing, so I continued working normally, waiting for the next actual failure.

Later, during a Gujarati translation generation task, the “Error in message stream” occurred again.

Because I had already enabled network recording and Persist Logs in Firefox Developer Tools beforehand, I finally managed to capture the complete HAR and Console Log from that moment.


4. Multiple HTTP 429s appeared in the Console

The most notable aspect of this failure was the appearance of multiple HTTP 429 responses in the browser Console.

I then submitted the HAR, Console Log, exact timestamps, task type, and other information to Support, explicitly mentioning in the email:

The console recorded multiple HTTP 429s around the time the error occurred.

[Figure 5: After capturing the actual failure, I submitted the HAR and Console Log to Support, noting the multiple HTTP 429s in the console]
[Figure 5: After capturing the actual failure, I submitted the HAR and Console Log to Support, noting the multiple HTTP 429s in the console]

HTTP 429 typically means:

Too Many Requests

That is, the request is subject to rate limiting / throttling.

However, I must clarify here:

I do not have server-side access, so I cannot prove these 429s were the direct cause of the message stream errors.

I also cannot know the exact account-level concurrency, token, model scheduling, or task throttling strategies used internally by ChatGPT Web.

So a more accurate statement would be:

During the failure, I observed 429s; and after later reducing the number of concurrent heavy tasks, the 429-related phenomena, message stream errors, and the perceived “dumbing down” all disappeared simultaneously. They are strongly correlated, but I cannot prove a strict causal relationship.


5. The truly effective solution: reducing 3 parallel long tasks to 2

Later, instead of messing with browser caches, reinstalling Firefox, or switching networks, I directly changed my workflow.

My previous usage pattern was roughly:

About 6 ChatGPT tabs, with up to 3 long tasks executing simultaneously.

I then changed it to:

About 4 ChatGPT tabs, with up to 2 long tasks executing simultaneously.

It is important to emphasize:

Individual tasks did not get shorter.

Current Generation, Reviewer, and code analysis tasks can still exceed 20 minutes.

The context was not intentionally reduced.

The model was not switched to lower reasoning because of this issue.

Only one thing actually changed:

The number of simultaneously running heavy tasks decreased from 3 to 2.

The results have been very stable so far.

The “Error in message stream” has essentially not reappeared.

And the previously noticeable “dumbing down” has not occurred again either.

So my current conclusion is simple:

For my workflow, the real danger might not be “tasks running over 20 minutes,” but “having too many long, high-load tasks running simultaneously.”


6. My current fixed strategy: multiple tabs allowed, but at most two heavy tasks in parallel

I still open multiple ChatGPT tabs simultaneously.

But “opening” a tab and “executing a heavy task” are two different things.

Some tabs are just left on standby, or waiting for my next action.

At most two tabs actually enter long-duration generation, translation, Reviewer, or code analysis states.

If two heavy tasks are already running, I do not launch a third task of the same magnitude.

The third task either waits, gets scheduled to another execution environment, or is limited to very lightweight queries.

This approach is currently much more stable than before.

So, if you are also a heavy ChatGPT user, especially one who frequently runs multiple High thinking long tasks simultaneously, my top recommendation to test first is not switching browsers, but:

Reduce the number of parallel heavy tasks first.


7. Does this mean “3 parallel tasks will definitely trigger a 429”?

I cannot say that.

What I have now are actual observations, not technical proof of OpenAI’s internal rate-limiting mechanism.

Other variables could also be at play, such as server-side load, model scheduling strategies, account status, context size, and whether OpenAI’s backend underwent adjustments during that period.

So I would not write:

3 tasks will definitely trigger a 429.

A more accurate statement is:

In my use case, with 6 tabs and up to 3 long heavy tasks running in parallel, message stream errors, 429s, and noticeable execution quality degradation occurred frequently; after reducing to about 4 tabs and up to 2 long heavy tasks in parallel, these issues have not noticeably reappeared so far.

For me, this is enough to guide my actual work.

I do not necessarily need to know exactly which limiter was triggered inside OpenAI.

Knowing how to use it most stably has already solved the core problem.


8. The other main thread of support communication: endless hassle over a HAR file

Beyond the technical issue, this experience had a part that deeply disappointed me:

OpenAI Support.

To help Support actually analyze the problem, I submitted fairly complete information.

This included error screenshots, Conversation details, timestamps, models used, the HAR, Console Log, and 429 evidence.

But later, much of the communication did not revolve around the cause of the failure, but rather around resolving:

How exactly to deliver this HAR to the support agent.


9. First, they asked me to attach the HAR directly, but the raw HAR was too large

Initially, because the raw HAR file was too large, I provided it via Google Drive.

Support later replied:

Do not use Google Drive; please attach the HAR file directly to the email.

[Figure 6: Support requesting not to use Google Drive, but to send the raw HAR directly as an email attachment]
[Figure 6: Support requesting not to use Google Drive, but to send the raw HAR directly as an email attachment]

The problem was:

The raw HAR was placed on Google Drive precisely because it exceeded the email attachment size limit.

So I came up with a compromise:

I compressed the same HAR into a ZIP and sent it as an email attachment.

At least the attachment could be sent this way.


10. The ZIP was then rejected

The agent then told me:

ZIPs cannot be reviewed; you must send the raw .har file.

Things became quite absurd.

The raw HAR was too large to attach directly.

Google Drive was temporarily prohibited.

The ZIP was rejected.

In other words, after combining the three conditions given by the agent, I effectively had no viable transfer method left.

So I had to reply to the agent again, explicitly pointing out this contradiction.

[Figure 7: The raw HAR exceeded attachment limits, the ZIP was rejected, and I pointed out to Support that the file transfer requirements were contradictory]
[Figure 7: The raw HAR exceeded attachment limits, the ZIP was rejected, and I pointed out to Support that the file transfer requirements were contradictory]

What left me most speechless was that this back-and-forth later proved completely unnecessary.


11. Support finally confirmed: Google Drive is acceptable for files over 25 MB

In a later email, Support finally confirmed:

If the raw .har exceeds the 25 MB email attachment limit, it can be uploaded to Google Drive or Dropbox and provided via a view-only link.

[Figure 8: Support finally confirming that a HAR over 25 MB can be provided via a view-only Google Drive or Dropbox link]
[Figure 8: Support finally confirming that a HAR over 25 MB can be provided via a view-only Google Drive or Dropbox link]

So I did something rather comical:

I resent the original Google Drive link.

In other words, just to deliver a captured HAR file to Support:

Google Drive → asked to attach directly → ZIP → ZIP rejected → confirmed Google Drive is acceptable → resent the original Google Drive link.

This entire round of communication did not produce any new diagnostic evidence.

It just consumed time.


12. The last email even explicitly told me it was an AI Support Assistant

Later on, I finally received the latest reply.

The email began directly with:

I’m an AI support assistant helping move your case forward.

[Figure 9: The final reply explicitly coming from an AI support assistant, mentioning that HTTP 429 typically indicates rate limiting/throttling]
[Figure 9: The final reply explicitly coming from an AI support assistant, mentioning that HTTP 429 typically indicates rate limiting/throttling]

One piece of information in this reply is worth noting.

It explicitly mentions:

HTTP 429 typically indicates rate limiting/throttling.

It also states this situation may manifest as:

slow responses or “Error in message stream” during long, high-effort generations.

This assessment is highly consistent with my actual observations.

The temporary advice it offered was also:

Break long translation tasks into smaller pieces, and wait a bit before retrying after an error occurs.

However, by this point, I had little expectation left for this Support case.

Because what I originally hoped to get was:

Would a human technician actually review my HAR and Console Log, and determine where this batch of 429s actually came from?

To date, I have not received such a technical conclusion.

Instead, the last reply directly told me it was an AI support assistant.

So I have essentially lost hope that a human will actually intervene later.


13. The biggest disappointment with OpenAI Support wasn’t just slow responses

If it were just slow, I could understand.

Support teams have high request volumes and replies require queuing; this is normal.

What truly disappointed me was the obvious process confusion throughout.

For the same HAR file, they first told me not to use Google Drive, then later confirmed that Google Drive was acceptable for files over 25 MB.

They first asked me to send it directly, then to compress it when it was too large, and then told me the ZIP could not be processed.

I ultimately had to point out these contradictory requirements myself.

And after I had already provided the HAR, Console Log, 429s, timestamps, task types, and screenshots, the latest reply was still just fairly generic rate-limiting advice.

For an average user, this level of support might be acceptable.

But for a case where complete technical diagnostic materials had been provided, I expected at least:

Someone actually reviewing the logs and telling me what they saw.

That did not happen.


14. But somewhat ironically: Support hadn’t solved it, but I already had

What ultimately made the problem disappear was not the complex troubleshooting process suggested by support.

It was my own adjustment to concurrency.

Before:

About 6 ChatGPT tabs, up to 3 long tasks in parallel.

Now:

About 4 ChatGPT tabs, up to 2 long tasks in parallel.

And the tasks are still heavy.

Many tasks still exceed 20 minutes.

Sometimes a Translation Generation itself is dozens of complete pages.

The Reviewer also reviews dozens of TranslationUnits at a time.

But currently:

The “Error in message stream” has not reappeared.

The previously noticeable “dumbing down” has not reappeared either.

So from a practical work perspective, this problem is considered solved.


15. My advice for heavy ChatGPT users now

If you only use ChatGPT occasionally to ask questions, you might never encounter my situation.

But if you also run multiple long-duration tasks simultaneously, you can try the following approach first:

  • You can open multiple ChatGPT tabs, but keep the number of sessions actually executing heavy tasks to two or fewer;
  • If 429s, noticeable lag, or message stream errors occur, do not continue launching new heavy tasks;
  • Do not frantically click Retry repeatedly; let the concurrency drop first;
  • Design long-duration tasks with checkpoints and recovery paths to avoid starting from scratch after a single stream error;
  • When encountering issues and needing to contact Support, HAR, Console Log, timestamps, and specific model info are more valuable than mere screenshots;
  • But do not directly assert that the root cause is proven just because you see a 429, unless you have server-side evidence.

The most important takeaway from this experience for me is distinguishing between “number of tabs” and “number of parallel heavy tasks.”

The latter is what truly needs to be controlled.


16. Conclusion: The problem is basically solved, but the Support experience completely lowered my expectations

This incident ultimately resulted in two completely different conclusions.

The first conclusion is positive:

The “Error in message stream” and the perceived “dumbing down” have essentially stopped occurring.

My actual workflow has shifted from:

About 6 tabs / up to 3 parallel heavy tasks

Adjusted to:

About 4 tabs / up to 2 parallel heavy tasks.

Individual tasks can still run for over 20 minutes, but overall stability has noticeably improved.

So currently, I believe reducing the number of concurrent heavy tasks is the most valuable lesson to keep.

The second conclusion is not so good:

The actual experience with OpenAI Support was much worse than I expected.

I provided sufficiently detailed technical materials, but a lot of communication was wasted on the HAR file transfer method—an issue that should not have required repeated back-and-forth.

The last email even explicitly came from an AI support assistant.

So now, I hold little hope that this case will ultimately yield a true root cause from a human technician.

Fortunately, this matter no longer blocks my work.

For me, the ultimately most useful conclusion is surprisingly simple:

Do not interpret ChatGPT’s concurrency capability as “you can run as many heavy tasks simultaneously as you have tabs open.”

At least in my actual use case:

Two parallel long tasks are currently very stable, while three parallel long tasks frequently entered a completely different state.

This is not an official answer from OpenAI.

But it is indeed an effective answer for now.

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系