Summary
The check_github_org tool reports names as available (HTTP 404 on the users API) that GitHub's org creation page actually blocks. This affects reserved names, dormant accounts, and names in GitHub's internal blocklist that the public API cannot see.
Reproduction
check_github_org(names=["some-name"]) returns available: true
- Go to https://github.com/organizations/plan and try to create the org
- GitHub says "The name 'some-name' is already taken"
Root cause
The tool checks gh api users/<name> and treats HTTP 404 as "available." But GitHub's creation form checks against a broader namespace that includes:
- Reserved/blocked names
- Suspended or dormant accounts invisible to the API
- Names that previously existed and are in a cooldown period
Suggested fix
Add a warning to the tool output when reporting availability:
- "Available (API check — confirm on GitHub creation page before acting)"
- Or add a note in the tool docstring that API availability is not guaranteed
There may be no programmatic way to check the full namespace. The creation page is the only authoritative source.
Impact
Users may plan around a name (buy domains, design branding) only to discover at creation time that the GitHub org can't be created.
Summary
The
check_github_orgtool reports names as available (HTTP 404 on the users API) that GitHub's org creation page actually blocks. This affects reserved names, dormant accounts, and names in GitHub's internal blocklist that the public API cannot see.Reproduction
check_github_org(names=["some-name"])returnsavailable: trueRoot cause
The tool checks
gh api users/<name>and treats HTTP 404 as "available." But GitHub's creation form checks against a broader namespace that includes:Suggested fix
Add a warning to the tool output when reporting availability:
There may be no programmatic way to check the full namespace. The creation page is the only authoritative source.
Impact
Users may plan around a name (buy domains, design branding) only to discover at creation time that the GitHub org can't be created.