Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[BUG] Codex MCP configuration includes an unsupported id field

Open Beginner friendly
#3,087 4 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

@Pybsama is already working on this.

Since Oct 3, 2026.

  • #3157 by @Pybsama — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
cli, tooling

Research direction

Start in src/apm_cli/adapters/client/codex.py and trace the stdio and HTTP MCP configuration paths plus their writer. Reproduce with the provided apm.yml and apm install --only mcp, then validate with codex app-server --strict-config --stdio. Done means generated .codex/config.toml contains no unsupported id field and passes strict validation.

Written by the indexing model from the issue text.

Description

status/accepted triage/recommended type/bug

Describe the bug

APM generates an id field in Codex MCP server entries. Codex CLI 0.157.1 does not recognize that field: normal configuration loading reports that it is ignored, and strict configuration validation rejects it.

I observed this with APM 0.29.0 in a project containing both stdio and HTTP MCP servers. A separate minimal HTTP configuration also produces id = "".

To Reproduce

  1. In a project trusted by Codex, create this apm.yml:

    name: codex-id-repro
    version: 1.0.0
    targets:
      - codex
    dependencies:
      mcp:
        - name: microsoft-learn
          registry: false
          transport: http
          url: https://learn.microsoft.com/api/mcp
    
  2. Run apm install --only mcp.

  3. Inspect .codex/config.toml. APM 0.29.0 generates:

    [mcp_servers.microsoft-learn]
    url = "https://learn.microsoft.com/api/mcp"
    id = ""
    
  4. Start Codex in that trusted project, or run codex app-server --strict-config --stdio to validate the configuration. Project trust matters because Codex skips project-local configuration in untrusted directories.

Expected behavior

APM-generated Codex MCP configuration is accepted without unrecognized-setting warnings or strict-validation errors.

Environment

  • OS: Windows 11, build 26200, x64
  • APM: 0.29.0, prebuilt executable installed through mise
  • Codex CLI: 0.157.1
  • Python: not separately used to run APM; this reproduction uses the prebuilt executable

Logs

The original project reported these warnings, among others:

project (.codex/config.toml): `mcp_servers.binlog.id` is ignored.
project (.codex/config.toml): `mcp_servers.context7.id` is ignored.
project (.codex/config.toml): `mcp_servers.microsoft-learn.id` is ignored.

Strict validation of that project failed at its first server entry:

Error: <project>\.codex\config.toml:4:1: unknown configuration field `mcp_servers.playwright.id`

Paths above are shortened. No credentials are included.

Additional context

The runtime reproduction is on APM 0.29.0. I also inspected the released 0.32.0 Codex adapter: its stdio and HTTP configuration paths still include id, and the writer serializes those entries. I have not run the reproduction with 0.32.0.

The Codex configuration schema does not list id as an MCP server setting. The unsupported field is generated by APM; it is not present in the manifest above.

Dominant language
Python
Stars
4k
Forks
387
Avg merge
4d 13h
Merged PRs (30d)
50

Getting set up

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.

More from microsoft/apm

All issues in microsoft/apm

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.