↑ TOP

Public accessibility / product-improvement case study · 2026-08-18 · v001

Product Improvement Suggestion: Never Let Temporary Tool Sessions Break a Permanent Conversation

A public accessibility and product-design case study documenting how expired Code Interpreter sessions can leave a previously readable ChatGPT conversation filled with repeated “Code interpreter session expired” errors and blank image placeholders.

Observed failure: a long-running conversation that previously contained visible images and context was later rendered with repeated red “Code interpreter session expired” banners and blank image areas. The conversation text survived, but part of the visual record did not.

1. The evidence

Screenshot of a ChatGPT conversation showing repeated red Code interpreter session expired banners and blank image placeholders.
Figure 1. Screenshot supplied by the user on 2026-08-18. Repeated “Code interpreter session expired” errors have replaced previously visible artifacts.

2. Why this is more than a cosmetic bug

For many users, a conversation is not disposable chat. It is working memory, project history, documentation, evidence, a research notebook, and sometimes an accessibility aid. When the system displays an image, chart, generated file, or other artifact inline, the user reasonably experiences that object as part of the conversation.

If that visible object later disappears because the temporary compute session that created it has expired, the product has changed the historical record from the user’s point of view.

This is especially damaging for users who rely on the conversation itself as an external memory system. Requiring a user to remember which image was there, reconstruct which tool created it, locate the source file, and rebuild the context defeats the purpose of using AI for cognitive assistance.

3. Product principle

Once shown, stay shown.

Anything that becomes visibly embedded in the conversation should be promoted from temporary tool output to a durable conversation asset. Tool-session lifetime and conversation-history lifetime should be separate concepts.

4. Proposed permanent behavior

Failure modeProposed behavior
Generated image depends on temporary execution storage.On first display, copy the rendered asset to durable conversation storage.
Temporary tool session expires.Conversation continues displaying the durable copy.
Artifact cannot be preserved.Retain a permanent metadata card with filename, description, timestamp, dimensions, provenance, and recovery information.
Many artifacts expire.Collapse technical status into one unobtrusive notice rather than a wall of repeated red errors.
User revisits months later.Reconstruct the same visual chronology the user originally saw.
Assistant creates a replacement.Create a new version; never silently overwrite the historical artifact.

5. Stronger architecture

Temporary compute → durable artifact promotion → immutable conversation reference.

Every displayed artifact could receive a permanent conversation-level object ID. The transcript would reference that object rather than the ephemeral filesystem path used by the tool that created it.

Useful retained metadata includes original filename, descriptive filename, MIME type, dimensions, cryptographic hash, creation timestamp, conversation turn, tool provenance, accessible alt text, version lineage, and a durable attachment reference.

6. Accessibility requirement: conversations can be external memory

For users with cognitive, memory, executive-function, visual, motor, or other disabilities, conversation history can function as external memory and organizational infrastructure. Historical continuity should therefore be treated as an accessibility property, not merely a convenience.

7. Suggested acceptance test

  1. Create a conversation.
  2. Generate or display 20 images/files through a temporary execution tool.
  3. Verify all 20 appear in the conversation.
  4. Destroy the underlying execution session completely.
  5. Reopen the conversation from desktop, iPhone, iPad, and Android.
  6. Verify all 20 still appear in their original historical positions.
  7. Verify alt text, filenames, scrolling, and reference/download controls still work.

Pass condition: the conversation remains visually and semantically intact after the compute environment is gone.

8. Why publish this openly?

The purpose of public reporting is constructive pressure for a generalizable fix. The goal is not embarrassment. The goal is durable product behavior that benefits everybody, especially people who depend on persistent context for accessibility.

9. Short product request

Product request to OpenAI:

Please make every image, file, chart, and other artifact that becomes visible inside a ChatGPT conversation durable at the conversation layer. Tool sessions may expire; conversation history should not. If preservation is technically impossible for a particular artifact, retain a permanent descriptive placeholder with filename, metadata, provenance, timestamp, and recovery information instead of replacing the historical record with repeated “session expired” errors.

10. Design rule

IF THE USER SAW IT IN THE CONVERSATION, THE CONVERSATION SHOULD REMEMBER IT.