Skip to content

403 on org namespace: token minted without org permission despite public membership and Owner role #1527

Closed as duplicate

Description

@BrienBounded

Publishing to io.github.evidence-readiness/evr returns 403 with You have permission to publish: io.github.BrienBounded/*.

The minted token confirms the registry granted no org permission:

json
"auth_method": "github-at",
"auth_method_sub": "BrienBounded",
"permissions": [{"action": "publish", "resource": "io.github.BrienBounded/*"}]

State on my side, all verified rather than assumed:

GET /orgs/evidence-readiness/public_members/BrienBounded → 204 (membership public)
Owner of the org
Both /orgs/evidence-readiness and /users/evidence-readiness → 200 (it is an organization)
Token file deleted and confirmed absent before re-running mcp-publisher login github, so this is a freshly minted token, not a cached one
gh auth status shows read:org present, though mcp-publisher appears to run its own device flow rather than reusing that token — no corresponding entry appears in my authorized OAuth apps

Expected: the token carries io.github.evidence-readiness/*. Actual: personal namespace only.

Is org enumeration under github-at expected to see public membership, or does it require something beyond Owner and public visibility?

Activity

  1. self-assigned this
    on Aug 15, 2026
  2. jcolvin1056 commented on Oct 11, 2026

    @jcolvin1056

    Root cause identified + working workaround posted on #1649. Short version: the device-flow GitHub App (MCP Registry Login (Prod)) does not request read:org scope, so the token cannot see org memberships — even public ones. Workaround: exchange a read:org-scoped token directly via POST /v0/auth/github-at.

  3. rdimitrov commented on Oct 23, 2026

    @rdimitrov
    Member

    Closing this as a duplicate of #1468, which tracks the same inability to publish to organization namespaces using interactive GitHub device login and is now linked from the authentication docs. I cross-linked this report there to preserve its diagnostics and workaround reports.

    #1483 corrected the misleading error guidance and documented PAT/GitHub Actions OIDC alternatives; it did not fix interactive organization authentication. #1468 remains open for that underlying problem. Please continue tracking the fix there.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions