openai / openai/codex

Duplicate namespace name error: namespaces serialized once per tool

Open
#44,710 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug custom-model
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.