Companion Podcast and Transcript

Use audio and transcript companions to review concepts in a conversational format.

Advanced Search

Companion audio: this episode reinforces key ideas and may not be a word-for-word reading of this page.

Transcript preview

Alex: Welcome back. Today we're talking about GitHub advanced search, which sounds like a power-user feature, but it is really a way to stop wandering around the site when you already know what you want.

Jamie: I love that framing, because search is where I go when I can't remember which repo, issue, pull request, or file I saw something in.

Alex: Exactly. GitHub search can reach across repositories, code, issues, pull requests, commits, users, organizations, and topics. The trick is learning the small query language that narrows the results before you ever press Enter.

Jamie: So instead of opening menus and checking boxes, I can type a more precise sentence into the search field.

Appendix N: GitHub Advanced Search

Listen to Episode 27: Advanced Search - a conversational audio overview of this chapter. Listen before reading to preview the concepts, or after to reinforce what you learned.

Reference companion to: Chapter 05: Working with Issues | Also relevant: Chapter 09

Authoritative source: GitHub Docs: Searching on GitHub

Finding Anything Across All of GitHub

GitHub's search engine is powerful and underused. For screen reader users in particular, using the search bar with precise query syntax is often faster and more accessible than navigating filter dropdowns and checkbox menus. This reference covers the query language so you can filter anything from the keyboard.

Table of Contents

  1. The Search Interface
  2. Search Scopes
  3. The Core Query Language
  4. Searching Issues and Pull Requests
  5. Searching Code
  6. Searching Commits
  7. Searching Repositories
  8. Searching Users and Organizations
  9. Practical Queries for This Workshop
  10. Saving and Reusing Searches

1. The Search Interface

GitHub's search is accessible from nearly any page:

  • Global search bar: At the top of every GitHub page - keyboard shortcut / to focus it from anywhere (press /, then type)
  • Issues/PRs list: Each tab has its own search bar pre-scoped to that repository
  • Advanced Search UI: github.com/search/advanced - a form with individual fields for each filter. Accessible but verbose; query syntax below is faster.
/ → Focus the global search bar (works on most GitHub pages)
Type your query → Enter
→ Results page opens, grouped by type (Code, Issues, PRs, Repositories, etc.)

Learning Cards: The Search Interface

Screen reader users
  • Press / on any GitHub page to jump straight to the global search bar — no Tab hunting required
  • After pressing Enter on a query, results are grouped by type under headings (Code, Issues, PRs, Repositories) — use H to jump between groups
  • Query syntax typed directly in the search bar is often faster and more accessible than the Advanced Search form at github.com/search/advanced
Low vision users
  • The search bar sits at the very top of every GitHub page — if you lose it at high zoom, press / to refocus instantly
  • Search results use bold text for matched terms — increase browser zoom to make the highlighted keywords easier to spot
  • Pin the Advanced Search page (github.com/search/advanced) as a bookmark for days when you prefer large labeled form fields over compact query syntax
Sighted users
  • Look for the search bar in the top navigation bar — it shows a / hint icon on the right to remind you of the keyboard shortcut
  • After submitting a query, use the left sidebar type filters (Code, Issues, PRs, etc.) to narrow results visually
  • GitHub highlights matched keywords in yellow within search results — scan for those highlights to evaluate relevance quickly

2. Search Scopes

By default, GitHub searches across all of GitHub. Scope modifiers restrict results:

Modifier Scope
repo:owner/name One specific repository
org:orgname All repos in an organization
user:username All repos owned by a user
in:title Only matches in the title field
in:body Only matches in the body field
in:comments Only matches in comments

Example: repo:community-access/accessibility-agents in:title keyboard finds issues/PRs whose titles mention "keyboard" in the accessibility-agents repo.

3. The Core Query Language

Boolean Logic

Syntax Meaning
word1 word2 Both words (implicit AND)
word1 OR word2 Either word
"exact phrase" Exact phrase match
-word Exclude this word
-label:bug Exclude items with this label

Common Qualifiers

Qualifier Meaning
is:open Open items only
is:closed Closed items only
is:merged Merged PRs only
is:unmerged Open or closed but not merged PRs
is:issue Issues only
is:pr Pull requests only
is:draft Draft pull requests only
label:name Items with this label
no:label Items with no labels
assignee:@me Assigned to you
assignee:username Assigned to a specific user
author:@me Created by you
author:username Created by a specific user
mentions:username Mentions a specific user
involves:@me You are author, assignee, mentioned, or commented
milestone:"Milestone Name" In a specific milestone
no:milestone Not in any milestone
no:assignee Not assigned to anyone
comments:>5 More than 5 comments
reactions:>10 More than 10 reactions

Date Qualifiers

Qualifier Meaning
created:>2025-01-01 Created after a date
created:<2025-01-01 Created before a date
created:2025-01-01..2025-03-31 Created in a date range
updated:>2025-06-01 Updated after a date
closed:>2025-06-01 Closed after a date

4. Searching Issues and Pull Requests

Going to the Issues search directly

GitHub's issue/PR search is at github.com/issues (your issues) or github.com/pulls (your PRs). The search bar there is pre-scoped to "repos you have access to involving you."

Practical queries

Find all unassigned, open accessibility issues across an org

org:community-access is:issue is:open label:accessibility no:assignee

Find good first issues in any language

is:issue is:open label:"good first issue" no:assignee

Find good first issues in a specific language

is:issue is:open label:"good first issue" language:python no:assignee

Find all PRs you need to review

is:pr is:open review-requested:@me

Find all open PRs where you were mentioned

is:pr is:open mentions:@me

Find your open issues across all repos

is:issue is:open author:@me

Find issues that are stale (open, not updated in 6+ months)

is:issue is:open repo:owner/name updated:<2024-08-01

Learning Cards: Searching Issues and Pull Requests

Screen reader users
  • The is:pr is:open review-requested:@me query is your daily go-to — it lists every PR waiting for your review without navigating the Pulls tab
  • Combine assignee:@me with is:open to get your personal task list announced as a simple results list
  • Use in:title or in:body qualifiers to avoid noisy matches buried in long comment threads
Low vision users
  • Bookmark the URL after running a search — the full query is encoded in the address bar so you can reuse it without retyping
  • The Issues search page (github.com/issues) pre-scopes to your repos — at high zoom this single-column list is easier to scan than a full global search
  • Results show labels as colored badges next to each title — zoom in or hover to read the label text if the color alone is hard to distinguish
Sighted users
  • The left sidebar on the search results page lets you toggle between Issues and PRs with one click — use it to refine without editing your query
  • Look for the green (open), purple (merged), or red (closed) state icons next to each result for quick visual triage
  • Star or bookmark the "good first issue" query from Section 4 — it is the fastest way to find your next contribution

5. Searching Code

Code search operates differently from issue search. As of 2024, GitHub uses an improved code search engine (sometimes called "code search v2") with better indexing.

repo:owner/name language:javascript aria-label

Find uses of a function across a repo

repo:owner/name symbol:handleKeyDown

Find a pattern across all repos in an org

org:community-access aria-hidden="true"

Code search qualifiers

Qualifier Meaning
language:python Filter by programming language
path:src/ Only files under this path
filename:config.yml Only files with this name
extension:md Only files with this extension
symbol:functionName Search for a specific symbol/function name
content:"exact string" Exact string match in file content

6. Searching Commits

Find commits with a keyword in the message

repo:owner/name fix keyboard navigation

Find commits by a specific author

repo:owner/name author:username

Find commits in a date range

repo:owner/name committer-date:2025-01-01..2025-03-31

Find commits that touched a specific file

repo:owner/name path:docs/README.md

7. Searching Repositories

Find accessible repos by topic

topic:accessibility stars:>50 is:public

Find repos with a specific language, sorted by stars

language:typescript topic:screen-reader sort:stars-desc

Repository qualifiers

Qualifier Meaning
stars:>100 More than 100 stars
forks:>10 More than 10 forks
is:public Public repos only
is:private Private repos only (requires access)
topic:topicname Repos tagged with this topic
license:mit Repos with an MIT license
size:<1000 Repos smaller than 1000 KB
pushed:>2025-01-01 Repos with recent activity

8. Searching Users and Organizations

Find users

type:user location:Seattle followers:>100

Find organizations

type:org topic:accessibility

9. Practical Queries for This Workshop

Bookmark these for use during the hackathon:

Find open contributions you can make right now in accessibility-agents

repo:community-access/accessibility-agents is:issue is:open label:"good first issue" no:assignee

Check whether your issue is already filed

repo:community-access/accessibility-agents is:issue keyboard navigation
repo:community-access/accessibility-agents is:issue label:accessibility is:open

See all your merged PRs (proof of contribution)

is:pr is:merged author:@me

Find recent discussions about a topic

repo:community-access/accessibility-agents in:discussions screen reader

10. Saving and Reusing Searches

GitHub does not have a built-in saved-search feature, but you can:

  1. Bookmark the URL - every search result page has the query in the URL. Bookmark it in your browser for instant re-run.
  2. Pin in notifications - if you're watching a repo, set up notification filters
  3. Accessibility Agents - use /my-issues and /my-prs for your personal saved-search equivalents without leaving VS Code

Example bookmarkable URL

https://github.com/issues?q=is%3Aissue+is%3Aopen+assignee%3A%40me

Next: Appendix O: Branch Protection
Back: Appendix M: Accessibility Standards
Teaching chapter: Chapter 05: Working with Issues

Authoritative Sources

Use these official references when you need the current source of truth for facts in this chapter.

Section-Level Source Map

Use this map to verify facts for each major section in this file.