# github-reserved-names

> Get a list, or check if a user or organization name is reserved by GitHub

Latest version **2.2.0** (published 2026-05-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install github-reserved-names
pnpm add github-reserved-names
yarn add github-reserved-names
bun add github-reserved-names
```

## Health

**Score 60/100 (C)** — status: active.

Positive: has types; no vulnerabilities; has provenance; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 2.2.0 |
| Published | 2026-05-28 |
| First published | 2017-06-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 16.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 59 |
| Author | Rob Garrison |
| Maintainers | mottie |
| Keywords | github, reserved, username, organization |

## Links

- npm: https://www.npmjs.com/package/github-reserved-names
- Repository: https://github.com/Mottie/github-reserved-names
- Homepage: https://github.com/Mottie/github-reserved-names#readme
- Issues: https://github.com/Mottie/github-reserved-names/issues
- npm.io page: https://npm.io/package/github-reserved-names

## Recent versions

- 2.2.0 (latest) — 2026-05-28
- 2.1.4 — 2026-04-30
- 2.1.3 — 2026-03-10
- 2.1.2 — 2026-02-18
- 2.1.1 — 2025-11-11
- 2.1.0 — 2025-07-21
- 2.0.7 — 2024-08-20
- 2.0.6 — 2024-07-30
- 2.0.5 — 2023-09-09
- 2.0.4 — 2020-11-22
- 2.0.1 — 2020-10-09
- 2.0.0 — 2020-09-21
- 1.1.10 — 2020-07-07
- 1.1.9 — 2020-06-28
- 1.1.8 — 2020-02-27
- … 23 more at https://npm.io/package/github-reserved-names/versions

## README

# GitHub-reserved-names [![NPM Version][npm-image]][npm-url]

[npm-url]: https://npmjs.org/package/github-reserved-names
[npm-image]: https://img.shields.io/npm/v/github-reserved-names.svg

> Get a list, or check if a user or organization name is reserved by GitHub

The list comprises user or organization names that GitHub reserves for special use, e.g. the `new` in `https://github.com/new` is a reserved name and is contained in this list.

**Update 11/11/2019** Sites are now reported as being "unavailable" or "taken"; we can no longer determine if a name is reserved. All new additions will be included in the reserved list and marked as reserved.

This is *by no means a complete list* of reserved GitHub user/organization names.

The list in this repository was gathered from several sources:

* [Octotree](https://github.com/buunguyen/octotree/) ([ref](https://github.com/buunguyen/octotree/blob/master/src/adapters/github.js#L1-L12)).
* [GitHub Hovercard](https://github.com/Justineo/github-hovercard/) ([ref](https://github.com/Justineo/github-hovercard/blob/master/src/hovercard.js#L35-L42)).
* [GitHub Custom Hotkeys Userscript](https://github.com/Mottie/GitHub-userscripts/wiki/GitHub-custom-hotkeys) ([ref](https://github.com/Mottie/GitHub-userscripts/blob/master/github-custom-hotkeys.user.js#L58-L90)).
* [shorten-repo-url](https://github.com/fregante/shorten-repo-url) ([ref](https://github.com/fregante/shorten-repo-url/blob/master/index.js#L9)).
* Manually entering names into https://github.com/account/organizations/new and seeing it labeled as "Reserved". **Update** Sites are now reported as "unavailable".
* And a lot of hard work by [@strafe](https://github.com/strafe). Thanks!

See the [history page](./history.md) for more details and how you can help expand this list.

## Oddballs

There are a few names that have been added or omitted because of their behavior, these are listed in the [oddballs](./oddballs.md) read me.

In version 1.1.0, an `oddballs.json` has been included along with an API function & command-line interface (CLI; removed in v2.0.0). The data returned by the oddballs function is described in the [oddballs](./oddballs.md#oddballs-object-keys) read me.

## Install

```
$ npm install --save github-reserved-names
```

## Usage

Pass a `name` (e.g. `settings` from `https://github.com/settings`) parameter to the `check` or `oddballs` function.

```js
const isReserved = require('github-reserved-names');

isReserved.check("settings");
//=> true

isReserved.check("google");
//=> false

isReserved.all;
// [ 400, 401, 402, ..., "www8", "www9" ]

isReserved.oddballs("avatars");
// { reserved: true, taken: true, typical: true, included: false }

isReserved.oddballs();
// [ "account", "apps", ..., "wiki", "windows" ]
```

*NOTE*: Also make sure to check that the username doesn't include invalid alphanumeric characters; such is the case for the url of a [private feed](./oddballs.md#private-feed).

## API

### `.all`

Type: `array`

Current list of gathered GitHub reserved names.

### `.check(name)`

Type: `function`

Returns a boolean of `true` if the `name` parameter is in the reserved list, `false` if not.

### `.oddballs(name)`

Type: `function`

If `name` is in the list, this function returns data related to the named oddball; otherwise it returns an array of oddballs pages.

## CLI

Removed in v2.0.0.

## Related

- [github-url-detection](https://github.com/fregante/github-url-detection) - Check what type of GitHub page you’re on (includes `github-reserved-names`).

## License

MIT

---
_Source: https://npm.io/package/github-reserved-names · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
