GitHub Fine-grained PAT Helper

Automate token creation with smart URL parameters

🚀 Quick Start

Drag this button to your bookmarks bar:

GitHub PAT Helper

How it works:

  1. 1 Navigate to GitHub's PAT creation page
  2. 2 Click the bookmarklet in your bookmarks bar
  3. 3

    The bookmarklet automatically:

    • URL has parameters & form is empty: Applies configuration
    • Form has values: Saves to URL & copies link
    • Both empty: Loads helper functions

Typical workflows:

Apply shared configuration:

Visit URL with parameters → Click bookmarklet → Auto-applied!

Share your configuration:

Fill form → Click bookmarklet → URL copied to clipboard!

📋 Preset Configurations

Minimal Token

Minimal access for testing or verification purposes.

https://github.com/settings/personal-access-tokens/new?name=Minimal+Token&description=Minimal+access+for+testing&expiration=1&repo_access=none&permissions=metadata:read

Coding Agent Token (1 day) 🤖

Short-lived token for AI coding assistants with minimal permissions to reduce risk if exposed.

https://github.com/settings/personal-access-tokens/new?name=Coding+Agent+Token&description=Short-lived+token+for+AI+coding+assistant&expiration=1&repo_access=selected&permissions=contents:write,issues:write,pull_requests:write,metadata:read

Coding Agent Token (7 days) 🤖

Weekly token for AI coding assistants working on longer projects, still limited to minimize exposure risk.

https://github.com/settings/personal-access-tokens/new?name=Coding+Agent+Token+-+Weekly&description=Limited+token+for+AI+coding+assistant+projects&expiration=7&repo_access=selected&permissions=contents:write,issues:write,pull_requests:write,discussions:write,metadata:read

Development Token

For local development with ability to push code and manage issues/PRs.

https://github.com/settings/personal-access-tokens/new?name=Development+Token&description=Local+development+access&expiration=7&repo_access=selected&permissions=contents:write,issues:write,pull_requests:write,metadata:read

Read All Permissions

Read access to all available permissions for comprehensive monitoring or backup.

https://github.com/settings/personal-access-tokens/new?name=Read+All+Token&description=Read+access+to+all+permissions&expiration=30&repo_access=all&permissions=actions:read,administration:read,attestations:read,security_events:read,codespaces:read,codespaces_lifecycle_admin:read,codespaces_metadata:read,statuses:read,contents:read,repository_custom_properties:read,vulnerability_alerts:read,dependabot_secrets:read,deployments:read,discussions:read,environments:read,issues:read,merge_queues:read,metadata:read,pages:read,pull_requests:read,repository_advisories:read,secret_scanning_alerts:read,secrets:read,actions_variables:read,repository_hooks:read,blocking:read,codespaces_user_secrets:read,copilot_messages:read,copilot_editor_context:read,emails:read,user_events:read,followers:read,gpg_keys:read,keys:read,interaction_limits:read,knowledge_bases:read,user_models:read,plan:read,private_repository_invitations:read,git_signing_ssh_public_keys:read,starring:read,watching:read

Write All Permissions ⚠️

Full write access to all permissions (use with extreme caution!).

https://github.com/settings/personal-access-tokens/new?name=Write+All+Token&description=Full+write+access+-+use+with+caution&expiration=7&repo_access=selected&permissions=actions:write,administration:write,attestations:write,security_events:write,codespaces:write,codespaces_lifecycle_admin:write,codespaces_secrets:write,statuses:write,contents:write,repository_custom_properties:write,vulnerability_alerts:write,dependabot_secrets:write,deployments:write,discussions:write,environments:write,issues:write,merge_queues:write,metadata:read,pages:write,pull_requests:write,repository_advisories:write,secret_scanning_alerts:write,secrets:write,actions_variables:write,repository_hooks:write,workflows:write,blocking:write,codespaces_user_secrets:write,emails:write,followers:write,gpg_keys:write,gists:write,keys:write,interaction_limits:write,knowledge_bases:write,profile:write,git_signing_ssh_public_keys:write,starring:write,watching:write

📚 Usage Guide

Available Functions

ghPat.setTokenName(name) ghPat.setTokenDescription(description) ghPat.setPermission(resource, level) ghPat.setMultiplePermissions({...}) ghPat.setRepositoryAccess(type) ghPat.selectRepositories([...]) ghPat.setExpiration(days) ghPat.setResourceOwner(owner)
ghPat.getTokenName() ghPat.getTokenDescription() ghPat.getCurrentPermissions() ghPat.listAvailablePermissions() ghPat.getRepositoryAccess() ghPat.getSelectedRepositories() ghPat.getExpiration() ghPat.getResourceOwner()
ghPat.applyFromUrlParams() - Apply configuration from URL ghPat.generateConfigUrl() - Generate URL with current config ghPat.copyConfigUrl() - Copy config URL to clipboard ghPat.updateUrlParams() - Update URL without reload

URL Parameter Configuration

You can share token configurations using URL parameters. The tool will automatically detect and apply them.

Example URL:

https://github.com/settings/personal-access-tokens/new?name=CI+Token&expiration=30&repo_access=all&permissions=contents:read,metadata:read

Supported Parameters:

name Token name
description Token description
owner Resource owner
expiration

Expiration days

  • • Standard: 7, 30, 60, 90
  • • Special: "custom", "none"
  • • Any number (e.g., 1, 14, 365) - auto-converted to date
expiration_date Custom date (YYYY-MM-DD)
repo_access Repository access (none, all, selected)
repos Comma-separated repositories
permissions Format: resource:level,resource:level