Duplicate namespace name error: namespaces serialized once per tool
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.909.12148
What subscription do you have?
Not a ChatGPT subscription. Using Codex desktop app with a custom model provider: DeepSeek (via third-party API endpoint, API key pay-as-you-go).
What platform is your computer?
No response
What issue are you seeing?
Bug description
Every conversation fails immediately with:
"Duplicate namespace name 'codex_app' in input[N].tools[0]. Namespace names must be unique."
Analysis
I exported the tool list Codex sends and found that each tool carries a full
copy of its namespace definition. E.g. the namespace
"codex_apps__codex_document_control" is declared 3 times (once per tool),
"codex_apps__plugin_management" 4 times, "codex_apps__safety_settings" 5 times.
The backend rejects the request because namespace names must be unique —
namespaces appear to be serialized once per tool instead of once per namespace.
Environment
-
Codex desktop app (Windows/macOS, version: Windows)
-
Started happening: 2026.09.11
-
New chat does not fix it; reinstall/update does not fix it.
Attachment
Full tool schema dump (JSON) pasted below / attached.
ff3ed3ce179fec547a2d2b2b570c2b7cfb771090.json
What steps can reproduce the bug?
随便问一个问题就会出现
What is the expected behavior?
帮我把其中名字重复的变成单一的,然后要求运行起来没有障碍
Additional information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the attached JSON tool schema and tracing the Codex request path that serializes namespaces for tools. Reproduce the duplicate 'codex_app' namespace error with the reported custom provider setup, then verify that each namespace is emitted only once and conversations start successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100