Chrome extension that keeps your active GitHub pull requests in a dedicated tab group.
It auto-syncs open PRs where you are:
- the author, or
- a requested reviewer
The extension checks every 15 minutes and can also be synced on demand from the popup.
- Auto-opens and groups matching PR tabs
- Reuses already-open PR tabs instead of duplicating
- Removes grouped tabs when PRs are no longer open
- One-click manual sync from popup
- Enable/disable grouping without removing your token
- Sync status with last run time and error reporting
- Warns when GitHub SSO org authorization is required
- Clone this repo.
- Open Chrome and go to
chrome://extensions. - Turn on Developer mode.
- Click Load unpacked.
- Select this project folder.
The extension should appear as Pull Requests.
- Click the extension icon.
- Open Settings in the popup.
- Paste a GitHub personal access token.
- Click Save & Sync.
After validation, the extension immediately runs a sync and starts a recurring 15-minute alarm.
The extension calls:
GET /user(token validation)GET /search/issues(find open PRs for author/reviewer queries)
Token guidance:
- Classic PAT: include
reposcope if you need private repos. - Fine-grained PAT: grant access to repos you want included.
- If your org uses SSO, authorize the token for that org or private repos may be skipped.
Token is stored in chrome.storage.local (not sync storage).
- Background service worker (
background.js) manages:- PR discovery via GitHub API
- tab opening/reuse
- group creation and cleanup
- periodic sync alarm
- Popup (
popup.html+popup.js) handles:- enable toggle
- token management
- sync-now action
- queue display and status messages
From manifest.json:
tabs,tabGroups: manage PR tabs and groupingstorage: persist token/state/settingsalarms: periodic sync- Host permissions:
https://github.com/*https://api.github.com/*
No build step is required. This is a plain Manifest V3 extension.
When you edit files:
- Save changes.
- Go to
chrome://extensions. - Click Reload on PR Review Queue.
- No PRs appear
- Verify token is valid and saved.
- Ensure there are open PRs where you are author or requested reviewer.
- Click Sync now.
- Private repos missing
- Classic token likely missing
reposcope, or - Fine-grained token lacks repo access, or
- SSO org authorization is required.
- Classic token likely missing
- Grouping disabled unexpectedly
- Check popup toggle; grouping only happens when enabled.
manifest.json- extension metadata and permissionsbackground.js- sync logic and tab group lifecyclepopup.html/popup.css/popup.js- popup UI and controlsmake-icons.py/generate-icons.html- icon generation helpers