[Projects][Sources] Successful source uploads report failure and create duplicates on retry
What version of the Codex App are you using (From “About Codex” dialog)?
26.818.21641
What subscription do you have?
Plus
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
What issue are you seeing?
When adding files as sources to an existing ChatGPT Project, the upload can complete successfully while ChatGPT reports that it failed.
In the ChatGPT desktop app, I repeatedly received:
Could not add sources
Library file is no longer available for project attachment
However, after reopening Project settings, the supposedly failed files were listed under Available sources and were fully readable by Project chats when instructed to use only Project sources.
I reproduced this with:
Test01.txt
LibraryTest02.txt
LibraryTest03.txt
I also reproduced the same false-negative behaviour in the ChatGPT web app. There, uploading a real .docx Project source displayed:
Unknown error occurred
Because the UI reported failure, I retried the upload. Both attempts had actually succeeded, which created duplicate Project sources.
The core problem is:
Project source uploads can succeed while ChatGPT reports failure, causing duplicate source attachments when users retry.
<img width="855" height="190" alt="Image" src="https://github.com/user-attachments/assets/75f840c2-ca61-467d-babc-4cb52fedd4aa" />
<img width="1628" height="1074" alt="Image" src="https://github.com/user-attachments/assets/353f7a37-2d3e-4adb-97d8-52de331d9552" />
What steps can reproduce the bug?
Feedback ID: no-active-thread-01a0206c-b459-7d31-9e3f-bb7c7ef67d75
What is the expected behavior?
If a Project source is added successfully, ChatGPT should report success and show the new source.
If the source genuinely fails to upload, ChatGPT should report failure and the source should not be added.
The UI should never report failure after a successful source attachment, because this encourages the user to retry and can create duplicate Project sources.
Additional information
Reproduction steps (GitHub reproduction field is locked)
Desktop app
Open an existing Cloud Project.
Open Project settings.
Under Available sources, click Add.
Select a file using Windows File Explorer.
Observe the error:
“Could not add sources — Library file is no longer available for project attachment.”
Close and reopen Project settings.
Observe that the file is actually listed under Available sources.
In a Project chat, ask ChatGPT to use only the Project's Available sources and read that file.
Observe that the supposedly failed file is accessible and readable.
This was reproduced with multiple .txt files.
Web app
Open the same Project in ChatGPT web.
Open the Sources tab.
Click Add sources and upload a .docx file.
Observe:
“Unknown error occurred.”
Retry the upload because the UI indicates that the first attempt failed.
Check the Project Sources list.
Observe that both attempts actually succeeded and duplicate copies of the source have been created.
The desktop and web interfaces show different error messages for the same general false-negative behaviour:
Desktop app: “Library file is no longer available for project attachment.”
Web app: “Unknown error occurred.”
In testing, Project sources remained fully readable despite the reported errors.
Project sources also appear to persist independently of File Library entries. For example, a test file remained attached and readable as a Project source after its File Library copy had been deleted.
The desktop app currently uses a newer Project/file-management interface than the web app, so the exact reproduction path differs between them.
The practical impact is that users cannot trust the reported upload result and may unintentionally create duplicate Project sources by retrying successful uploads.
2 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I do not believe this is a duplicate of #39000.
The two reports share a misleading failure message, but involve different operations and reproduction paths:
#39000 occurs when creating a new Chat-mode conversation inside an existing Project. Existing Project sources are successfully available to the new conversation, but the Windows app falsely reports that they could not be synced.
#39775 occurs when uploading a new file through the ChatGPT web app’s Project Sources interface. The upload succeeds even though the interface reports failure. Retrying the supposedly failed upload then creates duplicate source attachments.
Therefore, #39000 concerns the handoff of existing Project sources into a new conversation, while #39775 concerns new source uploads, incorrect upload acknowledgement, and missing retry/idempotency protection.
They may share an underlying error-reporting mechanism, but they have different triggers, affected interfaces, reproduction steps, and consequences. Please consider reopening #39775 or tracking the upload-and-duplication behaviour separately.