openai / openai/codex

Inline visualizations disappear after backend restart when source is under `/mnt/.codex`

Open
#46,426 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug remote session
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

26.911.61220 (ChatGPT app), 0.153.4 (app-server)

What subscription do you have?

Enterprise

What platform is your computer?

Mac (Darwin 25.6.0 arm64 arm) local / RHEL 8 remote

What issue are you seeing?

Inline visualizations created during a remote Codex session disappear after restarting the remote Codex backend.

The visualization renders successfully before the restart, but the source fragment is lost when the remote execution runtime is recreated.

What steps can reproduce the bug?
  1. Start a remote Codex session.

  2. Create an inline visualization under:
    /mnt/.codex/visualizations/YYYY/MM/DD/<thread-id>/example.html

  3. Confirm that the visualization renders.

  4. Restart the remote Codex backend or recreate its container.

  5. Reopen or rehydrate the same task.

What is the expected behavior?
Expected behavior

Visualization source files referenced by a completed remote Codex session should remain available after an app-server or backend restart, or the task should preserve enough information to reconstruct the visualization.
If the source cannot be recovered, the UI should show an actionable missing-file error.

Actual behavior

The visualization renders before the remote backend restart, but the source file disappears afterward.
The inline content reference remains in the conversation, but the renderer can no longer resolve the referenced file.

Additional information

Diagnostic evidence

  • Before the restart, the fragment existed at /mnt/.codex/visualizations/.../random-scatter-plot.html.

  • The fragment was 5,988 bytes and rendered successfully.

  • After the restart, a new remote app-server instance was running.

  • The visualization file was missing, while its parent directory remained empty.

  • /mnt/.codex is a separate private tmpfs filesystem, distinct from the persistent workspace.

  • The app-server log also contained:

    Error: app-server control socket is already in use at /mnt/.codex/app-server-control/app-server-control.sock
    

Root-cause analysis

The remote session’s visualization directory is located inside runtime-local tmpfs.

The fragment is therefore stored in ephemeral container memory rather than persistent storage. When the remote backend runtime is recreated, the mount is recreated and the visualization files are lost.

Related issues

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how visualization files under /mnt/.codex/visualizations/YYYY/MM/DD//example.html are created and resolved, and how the remote runtime mounts that path. Reproduce the backend restart, then verify that completed-session visualizations remain available or that the UI reports an actionable missing-file error.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.