Skip to main content

🎯 Issue Hunter

Search GitHub for open, unassigned issues that nobody is fixing yet — perfect for finding your next open-source contribution.

Features

  • 🔍 Searches any public GitHub repository for open issues with no assignee
  • 🌍 Global discover mode — find huntable issues across all of GitHub, filtered by repository stars
  • 🚫 Automatically excludes issues that already have a linked pull request using multi-strategy detection:
    • Timeline events API (cross-referenced PRs)
    • Issue body scanning for PR URLs and "fixes #N" patterns
    • Search API for open PRs referencing the issue
  • 🏷️ Filter by labels (e.g. bug, good first issue, help wanted)
  • 📝 Free-text query support
  • 🌐 Filter by programming language (discover mode)
  • ⭐ Filter by repository stars (discover mode)
  • 📊 Rich terminal table output or JSON export
  • 🔑 Optional GitHub token support for higher rate limits
  • ⚡ Rate-limit aware — backs off automatically when limits are low

Installation

pip install -e .

Usage

Basic hunt (single repo)

issuehunter hunt facebook/react

Filter by labels

issuehunter hunt facebook/react -l "bug" -l "good first issue"
issuehunter hunt microsoft/vscode -q "memory leak"

Limit results

issuehunter hunt torvalds/linux -n 10

JSON output (for scripting)

issuehunter hunt python/cpython --json | jq '.[].title'

Skip PR check (faster)

issuehunter hunt rust-lang/rust --no-pr-check

🌍 Global discover mode

Find huntable issues across all of GitHub without specifying a repository:

# Issues in repos with 1000+ stars (default)
issuehunter discover

# Issues in repos with 5000+ stars
issuehunter discover --min-stars 5000

# Star range: 500–2000 stars
issuehunter discover --min-stars 500 --max-stars 2000

# Filter by language
issuehunter discover --language python --min-stars 1000

# Filter by label
issuehunter discover -l "good first issue" --min-stars 500

# Sort by most commented
issuehunter discover --sort comments

# JSON output with repo stars
issuehunter discover --json

Check rate limits

issuehunter ratelimit

Authentication

Set a GitHub personal access token to increase API rate limits (60 → 5000 requests/hour):

export GITHUB_TOKEN="ghp_your_token_here"

Or pass it directly:

issuehunter hunt owner/repo --token ghp_your_token_here

How it works

  1. Uses the GitHub Search Issues API with qualifiers: is:issue is:open no:assignee
  2. For each candidate, runs multi-strategy PR detection:
    • Timeline events — checks for cross-referenced and connected events from PRs
    • Body scanning — regex-matches PR URLs and "fixes/closes/resolves #N" patterns
    • PR search — queries the Search API for open PRs mentioning the issue number
  3. Issues with a linked PR (open or closed) are excluded
  4. In discover mode, repository star counts are fetched and cached for display
  5. Results are sorted by creation date (newest first) by default

License

MIT

Metadata

Release files for issuehunter 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for issuehunter 0.1.0
File Size Uploaded
issuehunter-0.1.0.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for issuehunter 0.1.0
File Interpreter ABI Platform
issuehunter-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.2 kB

Release files / issuehunter-0.1.0.tar.gz

Download URL issuehunter-0.1.0.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9f2638e2cdac396ed32c8efdb8424e9145312df7c41b9bd95b39a9a5061698cf
BLAKE2b-256 checksum
How to use checksums
fe837924eb0f3dfeadaca3e20c60c75f38cbbea69029c4fe6f588f005e52e103
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / issuehunter-0.1.0-py3-none-any.whl

Download URL issuehunter-0.1.0-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f25c2acf3c2b1dc890e1359a8ed3fc7f0337a60545b823ed0ee739641d36713
BLAKE2b-256 checksum
How to use checksums
41e64aa611efe1f18e3d67eeaec5051af34e57c4c0f35cd5df45ab52e8f95e78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page