Feature request
Codex Desktop should provide first-class project management capabilities, especially:
- Register/add an existing local folder as a saved project from the sidebar or command palette.
- Move an existing thread from one project to another.
- Change a thread's project binding after creation.
- Expose the same capability through the app-server / thread management API so agents can create threads under the correct project reliably.
Current behavior
At the moment, a thread can only be created under a project if that folder already exists in the Desktop saved project list.
If a local folder is not yet registered as a saved project, background thread creation fails with Unknown projectId. The workaround is to create a thread under a parent workspace and tell the agent to cd into the desired subfolder, but the thread still appears under the wrong project in the Desktop sidebar.
There also appears to be no safe way to move that thread into the correct project afterward. The available thread tools support creating, renaming, sending messages, pinning, and archiving threads, but not changing the project binding.
Why this matters
For project-heavy workflows, especially legal/patent/client work, each matter is organized as its own local folder. Users often create the folder first and then need Codex to create a visible project thread for that exact folder.
If the thread is placed under the parent workspace instead:
- the sidebar becomes confusing;
- later retrieval is harder;
- project-specific context/rules may not be obvious;
- handoffs between threads become unreliable;
- users are tempted to edit internal SQLite/JSON state, which is risky and should not be necessary.
Requested behavior
Please add a supported UI and API flow for project management:
Add existing folder as project
Move thread to project
Change thread project
List saved projects
- optionally
Create project from local path
Ideally, the app-server API could support something like:
{
"method": "project/create",
"params": {
"path": "E:\\...\\ProjectFolder"
}
}
and/or:
{
"method": "thread/project/set",
"params": {
"threadId": "...",
"projectId": "E:\\...\\ProjectFolder"
}
}
Example scenario
A user has a saved parent workspace:
Inside it, a new project folder is created:
E:\...\YAYI\2026\工作区\中国-实用新型-检索-未分配案号-未获申请号-B22防水灯座灯头
Trying to create a thread directly under the new folder fails because it is not yet a saved project. Creating the thread under the parent workspace works, but the thread appears in the wrong sidebar group and cannot be moved.
Environment
- Codex Desktop on Windows
- Local project folders
- Project-heavy workflow with many nested client/matter folders
Related
This is related to #13836 but narrower: project registration and moving existing threads between projects.
Feature request
Codex Desktop should provide first-class project management capabilities, especially:
Current behavior
At the moment, a thread can only be created under a project if that folder already exists in the Desktop saved project list.
If a local folder is not yet registered as a saved project, background thread creation fails with
Unknown projectId. The workaround is to create a thread under a parent workspace and tell the agent tocdinto the desired subfolder, but the thread still appears under the wrong project in the Desktop sidebar.There also appears to be no safe way to move that thread into the correct project afterward. The available thread tools support creating, renaming, sending messages, pinning, and archiving threads, but not changing the project binding.
Why this matters
For project-heavy workflows, especially legal/patent/client work, each matter is organized as its own local folder. Users often create the folder first and then need Codex to create a visible project thread for that exact folder.
If the thread is placed under the parent workspace instead:
Requested behavior
Please add a supported UI and API flow for project management:
Add existing folder as projectMove thread to projectChange thread projectList saved projectsCreate project from local pathIdeally, the app-server API could support something like:
{ "method": "project/create", "params": { "path": "E:\\...\\ProjectFolder" } }and/or:
{ "method": "thread/project/set", "params": { "threadId": "...", "projectId": "E:\\...\\ProjectFolder" } }Example scenario
A user has a saved parent workspace:
Inside it, a new project folder is created:
Trying to create a thread directly under the new folder fails because it is not yet a saved project. Creating the thread under the parent workspace works, but the thread appears in the wrong sidebar group and cannot be moved.
Environment
Related
This is related to #13836 but narrower: project registration and moving existing threads between projects.