Appendix J: 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.
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
- The Search Interface
- Search Scopes
- The Core Query Language
- Searching Issues and Pull Requests
- Searching Code
- Searching Commits
- Searching Repositories
- Searching Users and Organizations
- Practical Queries for This Workshop
- 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.
Keyboard to global search
/ → 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.)
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
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.
Basic code search
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
Find all accessibility-related issues in a project
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:
- Bookmark the URL - every search result page has the query in the URL. Bookmark it in your browser for instant re-run.
- Pin in notifications - if you're watching a repo, set up notification filters
- Accessibility Agents - use
/my-issuesand/my-prsfor your personal saved-search equivalents without leaving VS Code
Example bookmarkable URL
https://github.com/issues?q=is%3Aissue+is%3Aopen+assignee%3A%40me
Return to: Resources | Screen Reader Cheat Sheet