Create a GitHub token
Reader works without a token for public repos. You need one to read private repos, or when you hit GitHub's limit of 60 requests per hour for anonymous access.
Or go there by hand: profile picture → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token.
Fill in the form
- Token name: anything you will recognise later, for example
Reader. - Expiration: pick how long the token stays valid. When it expires, Reader shows "GitHub rejected the token" and you create a new one.
- Resource owner: your own account. If the repos you want to read belong to an organization, pick that organization instead. Some organizations must approve the token first; until an admin approves it, it can only read public repos.
- Repository access:
- All repositories — every repo the resource owner has, including ones created later.
- Only select repositories — only the repos you pick in the list.
- Permissions: under Repository permissions, set Contents to Read-only. GitHub adds Metadata: Read-only by itself. Leave everything else, including the account permissions, at No access.
Before you generate the token, the overview at the bottom of the form should look like this (with All repositories):
- Repository access
- This token has access to all repositories owned by you.
- User permissions
- This token does not have any user permissions.
- Repository permissions
- Read access to code and metadata
Reader only reads files, so it never needs more than this.
Copy the token
Click Generate token, then copy the token. It starts with github_pat_.
GitHub shows it only once; if you lose it, regenerate it from the same page.
Paste it into Reader
- Chrome extension: right-click the Reader icon → Options, paste the token, click Save.
- Web version: click Token at the bottom of the file list (or Add a GitHub token on the start page), paste the token, click Save.
The token stays in this browser only and is sent only to api.github.com.
To remove it, clear the field and save. To revoke it everywhere, delete it on the
fine-grained tokens page.