Codex Desktop shares the unsent new-conversation draft across projects
What version of the Codex App are you using (From “About Codex” dialog)?
26.721.31836 (build 5828)
What subscription do you have?
ChatGPT Pro
What platform is your computer?
macOS 26.5.2 (25F84)
What issue are you seeing?
Codex Desktop appears to use one shared unsent draft for the new-conversation composer across different projects or workspaces.
When I type a prompt in a new conversation under Project A without sending it, then switch to Project B and open a new conversation there, the composer contains the draft from Project A instead of an independent Project B draft.
This prevents multiple projects from retaining their own in-progress new-conversation prompts.
What steps can reproduce the bug?
- Open Project A in Codex Desktop.
- Create a new conversation.
- Type a prompt, but do not send it.
- Switch to Project B.
- Create a new conversation under Project B.
- Observe that the composer contains the prompt entered under Project A.
- Edit the prompt under Project B.
- Switch back to Project A and open its new-conversation composer again.
- Observe that Project A does not retain a separate draft.
What is the actual behavior?
Different project-scoped new-conversation composers share the same unsent draft. Switching projects changes the selected project or workspace, but the composer content is reused or overwritten across those contexts.
What is the expected behavior?
Each project or workspace should retain an independent unsent new-conversation draft:
- Project A retains Draft A.
- Project B retains Draft B.
- General / No Project retains a separate draft.
- Switching projects restores the draft associated with the selected project.
- Sending or clearing a draft affects only the current project.
Remote workspaces and separate worktrees should also use distinct draft identities when they represent different execution contexts.
Why does this matter?
A common Codex Desktop workflow is to prepare or refine prompts for several repositories before sending them. A single global new-conversation draft prevents that workflow and increases the risk of sending project-specific instructions, paths, or task details from one repository into another project.
For a multi-project agent workspace, unsent prompts should behave like project-scoped editor state rather than one global chat input.
Scope clarification
This report concerns composer draft state before the first prompt is sent and before a persistent thread is created.
I am not reporting that an already-created thread executed commands with the wrong cwd, loaded another project's files, or inherited another project's runtime context.
Suggested behavior
Scope the new-conversation draft to a stable project/workspace identity. Changing the selected project before the first turn should switch to that project's saved draft instead of silently carrying over or overwriting another project's draft.
Related issues
- #23085 requests durable autosave of unsent prompts for each existing thread.
- #24222 covers clearer General/Project thread context and moving created threads between contexts.
- #24731 covers the default project selected by the global new-chat composer.
This issue is narrower: independent unsent drafts for multiple project-scoped new conversations before their threads are created.
1 Comment
I am seeing the same behavior on Codex Desktop. Drafts for existing threads already survive switching away and back, so it would be especially helpful if the pre-send new-conversation composer used the same context-scoped persistence: one independent draft per project/workspace, rather than a global draft carried into another project.