One workflow I’ve run into while using Codex is working on multiple unrelated tasks within the same repository.
Today, the best Git practice is to create separate worktrees so each task has its own branch and working directory. This works well technically, but it becomes awkward inside Codex because every worktree appears as an entirely separate project/workspace.
I’d love to see Codex treat Git branches (backed by worktrees) as first-class workspaces rather than requiring developers to manage folders manually.
Current workflow
Suppose I’m working on:
- Email Settings
- Design System
- Dashboard
- Shipping
Each task deserves its own Git branch.
Today the workflow is roughly:
Create branch
Create worktree
Open another folder
Create another Codex project
Associate chats manually
Repeat...
While this works, it exposes Git’s implementation details rather than the task I’m actually trying to accomplish.
Proposed workflow
Imagine opening a repository in Codex and seeing something like:
root
├── main
├── Email Settings
├── Design System
├── Dashboard
└── + New Branch Workspace...
Creating a new Branch Workspace would automatically:
- Create a Git worktree
- Create (or check out) the branch
- Open a new Codex workspace
- Associate conversations with that branch
- Track Git status independently
- Offer to clean up the worktree after the branch is merged
The developer wouldn’t need to think about worktrees at all.
Future possibilities
This could become even more powerful if Branch Workspaces integrated with issue tracking.
For example:
Design System
Branch:
design-system
Linked Issue:
ENG-123
Conversations:
2
Status:
In Progress
Files Changed:
14
Switching between tasks would simply become switching workspaces rather than managing folders.
Why I think this would help
The mental model for developers is usually:
Task
→ Branch
→ Conversation
The current workflow is closer to:
Branch
→ Worktree
→ Folder
→ Project
→ Conversation
Git worktrees are a fantastic feature, but they’re still a fairly advanced Git concept. Codex could abstract that complexity away and let developers think in terms of features, issues, and tasks instead of directories.
For developers working on larger repositories with multiple concurrent features, I think this would be a meaningful improvement to the overall workflow and developer experience.