Windows Desktop: fresh generated sandbox attachment can fail immediately and become downloadable later
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Version
Codex desktop package 26.825.4187.0
Internal app build 26.825.32147
Platform
Windows 11 x86-64
Summary
A newly generated attachment can fail when opened or downloaded immediately in vanilla Windows desktop, before the native Save As flow receives bytes. The same attachment descriptor/resource can later succeed without regeneration, and the web route can download the same attachment.
The current evidence supports a transient native sandbox-resource readiness/retry failure. The exact native readiness or fetch subfailure was not captured.
Steps to reproduce
- Run Codex desktop normally.
- Generate a fresh downloadable attachment.
- Immediately activate its download/open affordance.
- Observe that resolution fails before a usable native Save As result.
- Wait and retry the same attachment, or download that same attachment through the web route.
- Observe that the same resource may succeed later.
Because the issue is intermittent, repeat with synthetic files and record only privacy-safe state transitions.
Expected behavior
Once the UI exposes an attachment as downloadable, its sandbox resource should be ready. If registration is still converging, desktop should keep the same descriptor and perform a bounded retry with a clear pending state.
Actual behavior
A fresh attachment failed immediately in vanilla desktop. The same immutable logical attachment later succeeded. Failure occurred after the valid descriptor selected the sandbox-resource path but before successful byte transfer and native Save As completion.
Additional technical evidence
| Condition | Result |
|---|---|
| Fresh attachment, vanilla desktop | Failed |
| Same attachment later | Succeeded |
| Same attachment through web | Succeeded |
| Remote-debugging-only | Passed |
| Browser-level CDP connection | Passed |
| Passive page attachment | Passed |
Runtime.evaluate |
Passed |
| Maintenance cadence | Passed |
| Full injector | Passed |
The controlled matrix rules out remote debugging, CDP, page attachment, runtime evaluation, maintenance cadence, and the full injector as causes. The exact native status/error was not retained, so I am not asserting a particular status code or internal service boundary.
Proposed fix direction
Prefer an explicit readiness signal. Otherwise, classify transient not-ready separately from permanent not-found/authorization failures and perform a small bounded retry while preserving descriptor identity. Do not regenerate the file or create duplicate downloads.
Privacy note
No generated user content, attachment identifiers, prompts, account data, usernames, local paths, tokens, cookies, signed URLs, or credentials are included.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the documented fresh-attachment and retry matrix on Windows, recording only privacy-safe state transitions. Trace the desktop attachment open/download path through sandbox-resource readiness and native Save As; done means transient not-ready states receive a bounded retry without regenerating or duplicating the attachment, while permanent failures remain distinct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100