Skip to content

codex mcp login for Atlassian Rovo reaches consent, then returns invalid_request before callback #36026

Description

@snkinard

What version of Codex CLI is running?

codex-cli 0.146.0-alpha.3.1

What subscription do you have?

ChatGPT subscription via Codex Desktop

Which model were you using?

N/A — failure occurs in codex mcp login before a model session

What platform is your computer?

Darwin 25.5.0 arm64 arm

What terminal emulator and version are you using (if applicable)?

Codex Desktop embedded terminal / zsh

Codex doctor report

Not attached because the current report contains local filesystem paths and unrelated diagnostics from a network-restricted agent environment. Relevant sanitized fields: Codex 0.146.0-alpha.3.1, runtime macos-aarch64, and a configured Streamable HTTP MCP server. No Atlassian credential was stored because the callback never occurred.

What issue are you seeing?

codex mcp login against Atlassian's official Streamable HTTP endpoint completes OAuth discovery and dynamic client registration, and Atlassian renders a consent page for the selected site. After clicking Accept, Atlassian replaces the consent page with:

invalid_request
Incorrect request parameters

The browser never reaches Codex's generated http://127.0.0.1:<port>/callback/<id> URI, so the CLI listener receives no code and keeps waiting. No credential is stored; codex mcp list still reports the server's authentication as Unsupported.

This reproduced in an isolated Chromium context and a fresh Safari window after closing stale OAuth tabs, using only the three read-only scopes currently advertised by Atlassian's protected-resource metadata. I redacted the Atlassian account and site, client ID, state, PKCE values, callback ID, and full authorization URLs.

Because the provider renders consent and then rejects the request, I cannot determine from the client side whether the incompatible parameter originates in Codex's dynamic-client metadata, the authorization request, or Atlassian's backend.

What steps can reproduce the bug?

  1. Configure the official endpoint:

    [mcp_servers.atlassian]
    url = "https://mcp.atlassian.com/v1/mcp/authv2"
  2. Confirm the endpoint's protected-resource metadata advertises read:account, read:me, and read:jira-work.

  3. Run:

    codex mcp login atlassian --scopes read:account,read:me,read:jira-work
  4. In the Atlassian consent page, select a valid Jira site. The page displays the requested Read/Search permissions.

  5. Click Accept.

  6. Observe invalid_request / Incorrect request parameters. The loopback callback is never loaded and the CLI continues waiting.

What is the expected behavior?

After Accept, Atlassian should redirect to Codex's generated loopback callback, Codex should exchange the authorization code and persist the credential, and the server should report OAuth authentication instead of Unsupported.

Additional information

Controls and related context:

Could maintainers inspect whether the generated DCR registration and authorization request are compatible with Atlassian's consent backend, or identify which parameter the provider is rejecting after consent? A sanitized diagnostic showing the DCR response and final authorization parameter names would help isolate the interoperability failure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIauthIssues related to authentication and accountsbugSomething isn't workingmcpIssues related to the use of model context protocol (MCP) servers

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions