Aident AI

Codex Generated File Link Missing? Recover the Output Safely
If Codex says it created a file but the desktop app shows no attachment, first identify whether the output came from a cloud conversation or a local workspace task. For a cloud conversation, open the same conversation in the web client. For a local task, verify the cited workspace path. If the file downloads on the web or exists locally, preserve that copy before asking Codex to regenerate anything.
This is a recovery guide for several open Codex app issues, not a confirmed product fix. Reports on both Windows and macOS describe DOCX, PDF, Markdown, JSON, ZIP, spreadsheet, and image outputs that exist but appear as blank bullets, plain text, missing cards, or inert links in a desktop or remote client.
Identify Which Layer Failed
Start with the smallest useful distinction:
What you observe | Likely failure boundary | Safest next step |
|---|---|---|
The file is downloadable in the same conversation on the web | Desktop attachment rendering or link handling | Download it from the web and preserve the working copy |
The file exists in the local workspace, but a remote or mobile client cannot open it | A host-local path was presented as if it were a remote attachment | Copy it locally or relay it through an approved file-delivery path |
A filename is visible, but clicking it does nothing | Client link handling | Open the same conversation on the web before regenerating |
The web link reaches | Signed artifact delivery, authentication, or expiry | Do not share the signed URL; retry once with a fresh artifact |
No local file and no web attachment exist | File generation may have failed | Ask Codex to regenerate once, then verify the output before continuing |
The browser check matters because multiple issue reports compare the exact same message across clients. In issue 36933, a DOCX attachment was missing in the Windows desktop app but immediately appeared and downloaded in Chrome. Issue 32105 reports the same cross-client mismatch on macOS with ZIP, Markdown, and JSON files. That evidence points to presentation or delivery for those reproductions, not file contents.
Do not assume every missing link has the same cause. A local workspace path, a cloud sandbox: attachment, and a short-lived web download URL have different ownership and lifetime.
Recover a Cloud-Generated Attachment
For a file generated in Chat mode or another cloud conversation:
Keep the desktop conversation open so you do not lose its identity.
Open the same conversation on
chatgpt.comwith the same account.Locate the exact assistant message that claims to contain the file.
Download the attachment if the web client exposes it.
Open the downloaded copy and verify its type and expected contents.
Save it to a durable location you control.
Do not repeatedly ask for a new file before trying the same conversation on the web. Every regeneration creates another candidate and makes it harder to know which output you verified.
If the browser also omits the attachment, ask Codex for a concise inventory instead of another prose assurance:
This separates an absent renderer control from an absent artifact.
Recover a Local Workspace File
Codex app tasks can write files into their workspace. If the response cites a local path, verify the file through the task's terminal or the editor rather than treating the chat link as the source of truth.
On macOS or Linux:
In PowerShell:
Then open or copy the file from the workspace using the operating system. A local path can prove the file exists on that host, but it is not a downloadable attachment for another device. Issue 36263 documents that exact boundary: a PDF existed on a Windows host, while file citations and absolute paths were not usable from the remote mobile view.
If the file is present, do not regenerate it. Move a verified copy to the destination you actually need.
Handle a Visible but Inert Link
Issue 37193 reports a Windows desktop sandbox: link that was visible but did nothing when clicked, while the same download worked on the web. The recovery order is therefore:
Try the same conversation on the web.
Confirm the downloaded file opens.
Record the app version and platform if you plan to report the bug.
Avoid resetting the app until the working file is safe.
Reinstalling or resetting the desktop app is a poor first move. It does not recover the output, and another open report says an app reset did not repair plain-text file links.
If a normal web URL disappears from a Voice transcript, issue 37900 reports a different workaround: ask Codex to copy the complete URL to the macOS clipboard, then paste it into the browser. Use that only for ordinary URLs. A sandbox: reference or signed backend URL is not a durable public link.
Do Not Share Signed Artifact URLs
Issue 37127 shows a web download failing at a signed /backend-api/estuary/content URL with ERR_INVALID_RESPONSE. Treat the query string as a credential-like bearer link:
do not paste it into a public issue;
do not store it in source control or logs;
do not send it to an unrelated integration;
do not expect it to remain valid.
Ask Codex to create one fresh artifact and try one fresh download. If that fails too, preserve the conversation URL, timestamp, product surface, browser, and error text, but omit the signed query parameters from the report.
Relay a Verified File With Aident Loadout
When a local file must reach another integration or remote agent, use a deliberate transfer contract instead of pretending its host path is globally reachable. Aident Loadout currently exposes Aident File Storage Actions that create an upload URL and later issue a short-lived download URL. The current contract accepts non-executable files up to 25 MB, deletes them after 48 hours, and makes the download URL valid for 15 minutes by default.
Start with:
Follow https://aident.ai/SETUP.md
Then ask your agent:
Check Aident Loadout authentication and Vault status. Discover the current Aident File Storage upload and download Actions, inspect both schemas, and preflight a transfer for this verified file. Confirm the filename, content type, byte size, 25 MB limit, retention period, and download-link lifetime. Do not upload until I approve. After approval, upload once, request the download URL immediately before the intended integration uses it, and do not print the signed URLs in the final response.
Use this only for files you are permitted to place in temporary managed storage. Do not relay secrets, private keys, credential exports, regulated data, or customer documents without the appropriate policy and authorization. The upload Action is a delivery option, not a repair for a broken desktop renderer.
Set up Aident Loadout for verified file delivery.
Capture a Useful Bug Report
Once the output is safe, preserve a minimal reproduction:
Codex or ChatGPT app version;
operating system and architecture;
conversation mode and client surface;
file type;
whether the filename was absent, plain text, a blank bullet, or clickable but inert;
whether the exact conversation worked on the web;
whether the local file existed and its byte size;
timestamp and screenshot with private data removed.
Do not include the file itself unless it is harmless and intentionally shareable. Never include a signed attachment URL. Link to the closest existing issue instead of opening a duplicate when the symptom and client match.
What Not to Do
Avoid these common detours:
regenerating the same file many times before checking the web client;
treating
sandbox:/mnt/data/...as a permanent URL;pasting a host-local path into a remote client and calling it a download;
resetting the app before preserving the working artifact;
publishing signed download URLs;
uploading sensitive files merely to bypass a renderer bug;
claiming the artifact is corrupt when another client downloads and opens it.
The recovery rule is simple: establish where the bytes exist, use the client or transfer path that actually owns them, and verify one saved copy before changing the environment.
Sources
Codex issue 32105: macOS app omits generated attachments visible on the web
Codex issue 35945: download links render as non-clickable text
Codex issue 36933: Windows desktop hides generated file links
Codex issue 37193: Windows desktop generated-file links do not open
Codex issue 37127: web artifact download returns an invalid response
Codex issue 36263: remote mobile cannot download a host-local PDF
Codex issue 37817: DOCX citation renders as an empty list item
Codex issue 37900: Markdown link disappears from a Voice transcript
Refresh this guide when the linked Codex issues change state, OpenAI documents a supported cross-client artifact contract, or Aident File Storage changes its size, retention, or signed-link lifetime.



The one tool
for every tool
your agent needs.
Give any AI agent real capabilities in seconds. Connect 1,000+ tools once, skip the setup headache, and let your agents execute.
