Intermittent caas.internal.errors.ClientError affecting Python/container execution and uploaded files in ChatGPT

Part of me is relieved to see that I’m not the only one encountering this error, although I’m certainly not happy that other people’s work is being disrupted too.

I found a couple of existing Developer Community threads describing symptoms similar to mine, so I wanted to add a structured account of what I’ve observed and tested. I’m not assuming that all of these reports necessarily have the same underlying cause.

Environment

  • ChatGPT plan: Pro 20x
  • Browser: Chrome Version 152.0.7977.76 (Official Build) (64-bit)
  • Desktop app: ChatGPT Version 26.901.51231
  • Conversation contexts tested: Project chats, fresh chats outside the Project, regular chats, and Temporary Chats
  • Test period: Sep 6–8, 2026

This concerns ChatGPT’s built-in Python/container execution environment, not the OpenAI API and not Python running locally on my machine.

Main error

The recurring error is:

ClientError
Encountered exception: <class 'caas.internal.errors.ClientError'>.

In affected turns, the execution request sometimes returns no usable filesystem or Python output at all.

Later diagnostic attempts also produced isolated instances of:

caas.internal.errors.TransportTimeoutError
caas.internal.errors.InvalidArgumentError

I’m keeping those separate rather than assuming they all have the same cause.

What originally triggered the investigation

My actual task involved a documentary review of several uploaded research files, including two large ZIP archives:

  • ZIP 1: 395,301,096 bytes
  • ZIP 2: 492,689,298 bytes
  • small prior-review ZIP: 398,361 bytes
  • small DOCX: 15,892 bytes

Combined size: approximately 888.4 MB.

Both large ZIPs are individually below the documented 512 MB per-file upload limit.

Initially, the pattern made it look as though adding the second large ZIP might be triggering the failure. Several tests showed the smaller files and ZIP 1 becoming available successfully, followed by repeated ClientError responses after ZIP 2 was added.

However, subsequent testing made the picture more complicated.

Tests performed

To separate the execution problem from the actual research task, I reduced the requests to very basic checks:

  • run a trivial Python expression;
  • verify that /mnt/data exists;
  • enumerate mounted attachments;
  • obtain filesystem byte sizes;
  • open each file for a one-byte read.

During those checks I explicitly did not request:

  • ZIP extraction;
  • ZIP central-directory inspection;
  • full-file hashing;
  • document parsing;
  • workbook analysis;
  • substantive research analysis.

So the observed failures did not require the original complex workflow to reproduce.

I tested both ChatGPT Desktop and Chrome, and both regular and Temporary Chat contexts.

I also tested multiple model/reasoning configurations:

  • GPT-5.5: Instant, Medium, High, Extra High, Pro
  • GPT-5.6 Sol: Instant, Medium, High, Extra High, Pro
  • GPT-6 Astra Pro

Switching configurations sometimes coincided with recovery, but failures later occurred under settings that had previously worked. I therefore did not identify a consistently reliable model-switching workaround. These were sequential troubleshooting tests, not a controlled benchmark of model reliability.

Most informative test: ZIP 2 by itself

I eventually tested ZIP 2 alone in a fresh Desktop Temporary Chat.

That archive repeatedly passed the narrow materialization check:

  • present in /mnt/data;
  • reported at 492,689,298 bytes;
  • successful one-byte read.

The important part is that the same conversation later began returning ClientError, then recovered, then failed again, without another upload or deliberate file change being recorded.

So the hypothesis that “both large ZIPs together are necessary to trigger the error” does not hold.

ZIP 2 alone can be accessible, and the same session can later fail.

Minimal commands also failed

During later diagnostic periods, even trivial execution requests failed, including commands equivalent to:

print("execution_probe_ok", 1 + 1)

and:

/bin/echo execution_probe_ok

I also tried alternate execution paths/configurations, including Python and container execution.

At times, all of them returned ClientError before useful filesystem output was produced.

This makes an error in my ZIP-processing code or research workflow a poor explanation.

At the same time, I don’t think this proves that attachments are completely unrelated. A minimal command issued inside a conversation containing a large attachment may still depend on session initialization or attachment preparation behind the scenes.

Intermittent recovery

Another important observation is that the problem has not been permanently reproducible.

There have been sequences where:

  1. an attachment check passed;
  2. later execution failed with ClientError;
  3. subsequent attempts succeeded again;
  4. later failures returned.

There were also periods where repeated retries failed for an extended period.

This makes the issue look more like an intermittent execution/session/materialization problem than a deterministic “this particular ZIP is unreadable” condition.

One unusual file-size observation

In the single-ZIP test, successful checks normally reported ZIP 2 as:

492,689,298 bytes

One successful response instead reported:

487,325,696 bytes

A later check returned to the original 492,689,298-byte value.

That is a difference of 5,363,602 bytes.

I am not claiming this proves truncation or corruption. It could represent:

  • a runtime/materialization issue;
  • a reporting error;
  • a transcript/UI artifact;
  • some other explanation I can’t verify from the available diagnostics.

I mention it because it may be useful to someone who has access to backend request or file-materialization logs.

What I do not think the tests establish

I don’t think the evidence currently justifies claiming that:

  • either ZIP is corrupt;
  • there is a fixed combined-size threshold;
  • Project history or the number of Project conversations is the cause;
  • one particular model causes the error;
  • one particular model fixes the error;
  • Chrome is the cause;
  • the Desktop app is the cause;
  • Temporary Chat is the cause;
  • all reported ClientError cases in the community share the same root cause.

Some of those remain possible, but my tests do not isolate them.

Current working hypothesis

My current working hypothesis is an intermittent issue somewhere in the execution/session/file-materialization path.

Large attachments may increase the likelihood of encountering it, but I don’t have enough evidence to claim that archive size itself is the root cause.

The fact that:

  • the same archive can be accessible, while later attempts in the same conversation can fail before its state can be verified;
  • trivial execution can fail;
  • the issue has reproduced across multiple chat contexts and clients;
  • switching models does not reliably fix it;

makes a transient service/session issue seem more plausible to me than a defective archive.

That is still a hypothesis, not a confirmed OpenAI root-cause determination.

Practical impact

In my case this is blocking a provenance-sensitive research workflow where I need to verify exact source files before processing them.

Because of that, I cannot simply treat a previous successful attachment check as proof that the file is still available later. I have had to build explicit file-identity/materialization gates into the workflow and stop whenever the execution environment fails.

For now I’m:

  • preserving the original files unchanged;
  • avoiding unnecessary extraction or duplication;
  • verifying inputs before substantive work;
  • stopping rather than inferring results when execution fails;
  • preserving the failed attempts for troubleshooting provenance.

Related community reports

I found two existing Developer Community discussions that appear relevant:

  • “caas.internal.errors.ClientError — Python/container + uploaded files intermittently unavailable for 4+ days”
  • “Unable to access files in /mnt/data — both Python and container tools return ClientError”

I’m mentioning these as related symptom reports, not as proof that our cases share the same cause.

Questions for OpenAI / anyone investigating

If someone from OpenAI or anyone familiar with the execution infrastructure sees this, I’d be very interested to know:

  1. Is there a supported way to recover or reinitialize the execution environment without losing the conversation and uploaded files?
  2. Is attachment materialization performed again when a new execution session starts?
  3. Could a large attachment affect execution startup even when the command itself does not reference the file?
  4. Is there any diagnostic identifier, request ID, or log information users can collect that would help correlate these caas.internal.errors.ClientError events?
  5. Are there limits beyond the documented per-file upload limit that could affect the execution environment—for example aggregate mounted-file size, temporary storage, or materialization limits?
  6. Would OpenAI prefer conversation IDs, timestamps, screenshots, HAR files from the browser, or some other information for investigation?

I have preserved the test transcripts and can provide redacted excerpts, conversation details, and reproduction steps privately if useful.

Hopefully this adds another useful data point without overstating what my tests actually prove. :sweat_smile:

same issue, still ongoing. (even if on “https://status.openai.com/” it say its resolved)

Sigh :face_exhaling:

Funny thing is, I kept checking the OpenAI Status page while I was troubleshooting this and, when I saw no incident reported on Sep 6–7, I figured: “Alright, unlucky me—must be something on my side.” :melting_face:

Then I thought I should check the old-fashioned way and search the community. That’s when I found the two threads I mentioned and realized I definitely wasn’t the only one seeing this.

At that point I figured it was worth adding my own observations and test results too, in case they help establish a broader pattern.

problem still there and support won’t respond to investigate it, ignoring ticket and so on, frustration start to hit hard, “Encountered exception: <class ‘caas.internal.errors.TransportTimeoutError’>.” i tryed every steps AI support said, sent HAR files sanitzed, vpn, dns, blablabla everything, still not solved. and when i ask the ai support to escalate it to someone in the Chatgpt work / data analysis / tools environment" its not responding anymore and ignore next messages entries.

edit : Support investigating

**I’m seeing what appears to be the same CAAS/container failure, with `TransportTimeoutError`, and in my case it is blocking an ongoing file-generation workflow.**

I wanted to add another detailed data point because my symptoms are very similar to the reports in this thread, although I obviously cannot confirm that the root cause is identical.

### Environment / workflow

* ChatGPT Plus

* ChatGPT Web

* Chrome on Windows

* Long-running ChatGPT Project conversation

* Main workload: editing and generating ZIP-based project overlays, inspecting uploaded archives, extracting `.tar.zst` files, modifying scripts/configuration files, calculating SHA-256 hashes, and returning generated ZIP files

This is not an OpenAI API workload and not Python running locally on my PC. It is specifically ChatGPT’s built-in Python/container execution environment.

### Important context

The same Project/conversation had previously been able to perform this workflow successfully many times.

For example, ChatGPT had successfully:

* accessed files in `/mnt/data`;

* extracted ZIP and `.tar.zst` archives;

* modified project files;

* generated new revision ZIP archives;

* verified ZIP integrity;

* calculated SHA-256 hashes;

* returned working downloadable artifacts.

In this particular project, several revisions had already been successfully generated before the failure started.

So this is not a case where the execution environment never worked for this conversation or where the workflow itself is inherently unsupported.

### Failure started during the next revision

I was preparing another revision of the project from an already-working previous revision.

The required input files had already been uploaded to the conversation, including files similar to:

```text

Win11_23H2_22631.7582_Osamix_rev32-v1.zip

TaskManager.tar.zst

QuickAccessBackup.tar.zst

Win11_23H2_22631.7582_Osamix_rev32-v1-log.tar.zst

```

The intended task was straightforward relative to earlier successful work:

1. extract the previous ZIP;

2. inspect the uploaded `.tar.zst` files;

3. apply several configuration changes;

4. regenerate a new ZIP;

5. verify it and calculate its SHA-256.

However, the execution environment stopped functioning before meaningful file processing could begin.

### Exact errors observed

Python execution initially returned:

```text

Code execution state reset.

IMPORTANT: The Python code did not successfully execute.

Do not assume that any outputs (files, variables, or side effects, etc…) were created.

```

Subsequent attempts repeatedly returned:

```text

TransportTimeoutError

Encountered exception: <class ‘caas.internal.errors.TransportTimeoutError’>

```

In the internal error text this also appeared as:

```text

caas.internal.errors.TransportTimeoutError

```

### Minimal commands fail too

This does not appear to be caused by archive extraction, ZIP processing, or my actual workload.

I deliberately reduced the test to extremely small commands such as:

```python

print(“probe”)

```

and:

```python

print(1 + 1)

```

These also failed with the same `TransportTimeoutError`.

I also attempted basic container/filesystem checks such as listing `/mnt/data`.

The failure therefore appears to occur at or before normal execution/session startup rather than inside my processing code.

### It persists across time

This was not just a one-off timeout.

I retried the operation multiple times over an extended period, including:

* later the same evening;

* after waiting overnight;

* again the following morning;

* again later that day.

The same execution failure continued to occur.

Text conversation itself continued working normally during this time.

The blocked part was specifically Python/container/file-artifact execution.

### Branching the conversation did not recover it

I also tried branching the conversation to see whether that would create a fresh working execution state.

The new branch still failed when attempting to start Python/container execution.

So, at least in my case, creating a conversation branch did not recover the runtime.

### Why I don’t think this is caused by my files

I do not have evidence that any uploaded archive is corrupt.

More importantly, the failure reproduces with commands that do not access the uploaded files at all.

For example:

```python

print(“hello”)

```

can fail before there is any archive-processing logic involved.

Also, previous revisions of the same project were successfully generated using the same general file formats and workflow.

Therefore, a malformed ZIP, `.tar.zst`, or project script seems unlikely to explain the current behavior.

### Possible file-materialization aspect

There may still be a file/session-materialization component involved.

The conversation UI can continue to know that uploaded files exist, while the execution environment is unavailable or cannot successfully start.

Because Python/container startup itself is failing, it becomes impossible to reliably verify whether the attachment bytes are currently mounted in `/mnt/data`.

For that reason I cannot distinguish between:

* container provisioning failure;

* stale/broken execution-session state;

* attachment materialization/mount failure;

* worker/resource allocation failure;

* or some combination of those.

I am not claiming any of these as the root cause.

### Practical impact

This is currently blocking a workflow that specifically requires the execution environment.

ChatGPT can still discuss the planned modifications in text, but it cannot actually:

* inspect the supplied archives;

* edit the project files;

* rebuild the ZIP;

* verify its contents;

* calculate the final hashes;

* or provide the requested artifact.

In other words, this is not merely a loss of an optional Python convenience feature. The task cannot be completed correctly without the file/container environment.

I am intentionally not asking ChatGPT to guess the contents or fabricate a replacement archive when the environment is unavailable.

### One particularly useful detail

The workflow was working normally earlier in the same project and then became unavailable later.

That makes this feel more like an execution/session/backend problem than a permanently unsupported workload.

It also resembles other reports where the environment temporarily works, then later fails again even though the user did not fundamentally change the workload.

### Questions that may help diagnose this

I would be very interested in clarification from OpenAI on the following:

1. Is `caas.internal.errors.TransportTimeoutError` normally generated while provisioning the sandbox, while contacting an existing sandbox, or during attachment materialization?

2. Is there any supported way for a user to force a completely fresh Python/container environment without abandoning a long-running Project conversation?

3. Does branching a conversation reuse any execution/session or attachment-materialization state from the original conversation?

4. Can an attachment that was previously available in `/mnt/data` fail to rematerialize when the execution environment is recreated?

5. Are there backend limits or resource conditions beyond the documented upload limits that can cause the execution sandbox to fail before even a trivial `print()` command runs?

6. Is there a request ID, execution ID, container ID, timestamp format, HAR entry, or other diagnostic data users can provide to help correlate these failures?

7. Is there a way for support/engineering to invalidate a stuck execution environment and re-provision it while preserving the existing conversation and attachments?

### Current conclusion

At this point I can only describe the observable behavior:

```text

Text/chat response: works

Python execution: repeatedly fails

Container/filesystem execution: repeatedly fails or never becomes usable

Uploaded-file processing: blocked as a consequence

Conversation branching: did not resolve it

Waiting/retrying over many hours: did not resolve it

Minimal print command: can reproduce the failure

```

The most consistent interpretation from the user side is an intermittent or stuck failure somewhere in the ChatGPT execution/container/session path.

I hope this additional report is useful because it comes from a workflow where the same project had already completed many successful file-processing and artifact-generation operations before the runtime became unavailable.