Codex Desktop: add independent user labels for threads and projects
Feature request
Codex Desktop can become hard to manage when the sidebar contains many projects and many old or paused conversations. I would like a first-class way to mark both:
- individual threads/sessions
- projects/workspaces
The important part is that these should be independent labels or colored markers, not just renaming a thread or project. Renaming loses the original title/context and does not work well for triage states such as "deferred", "blocked", "follow up later", or "active".
Desired behavior
- Let users assign a small text label and optional color to a thread.
- Let users assign a small text label and optional color to a project/workspace.
- Keep labels separate from thread names, project names, and git metadata.
- Preserve labels across thread read/list/resume/fork/rollback flows.
- Allow clearing labels explicitly.
- Give clients enough protocol support to render sidebar badges/chips and filter or group later.
Prototype branch
I pushed a prototype branch from my fork:
https://github.com/openai/codex/compare/main...chenk0527:thread-user-labels
I could not open a PR directly because this repository currently limits PR creation to collaborators, but the branch is available for review.
What the branch currently does:
- adds a
UserLabel { text, color }protocol shape - exposes
userLabelon thread responses - extends
thread/metadata/updateto set or clear a thread label independently from the thread name - adds
project/metadata/updateandproject/metadata/list - persists thread labels and project labels in SQLite state
- preserves thread labels during rollout reconciliation
- regenerates app-server JSON and TypeScript schemas
- adds coverage for set/read/list/clear behavior
Validation run on the branch
just write-app-server-schemajust test -p codex-app-server-protocoljust test -p codex-thread-storejust test -p codex-statecargo build -p codex-cli --bin codexcargo build -p codex-rmcp-client --bin test_stdio_serverjust test -p codex-app-server project_metadata thread_metadata_updatejust test -p codex-app-server(917 passed, 1 skipped)just fmt
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗