Note: The GitHub Command Palette is currently in public preview and is subject to change.
The GitHub Command Palette is deactivated by default. You can enable the GitHub Command Palette with feature preview. See "Exploring early access releases with feature preview."
About the GitHub Command Palette
You can navigate, search, and run commands on GitHub with the GitHub Command Palette. The command palette is an on-demand way to show suggestions based on your current context and resources you've used recently. You can open the command palette with a keyboard shortcut from anywhere on GitHub, which saves you time and keeps your hands on the keyboard.
Fast navigation
When you open the command palette, the suggestions are optimized to give you easy access from anywhere in a repository, personal account, or organization to top-level pages like the Issues page. If the location you want isn't listed, start entering the name or number for the location to refine the suggestions.
Easy access to commands
The ability to run commands directly from your keyboard, without navigating through a series of menus, may change the way you use GitHub. For example, you can switch themes with a few keystrokes, making it easy to toggle between themes as your needs change.
Opening the GitHub Command Palette
Open the command palette using one of the following default keyboard shortcuts:
- Windows and Linux: Ctrl+K or Ctrl+Alt+K
- Mac: Command+K or Command+Option+K
You can customize the keyboard shortcuts you use to open the command palette in the Accessibility section of your user settings. For more information, see "Customizing your GitHub Command Palette keyboard shortcuts."
When you open the command palette, it shows your location at the top left and uses it as the scope for suggestions (for example, the octo-org
organization).
Note
- If you are editing Markdown text, open the command palette with Ctrl+Alt+K (Windows and Linux) or Command+Option+K (Mac).
- If you are working on a project, a project-specific command palette is displayed instead. For more information, see "Changing the layout of a view."
Customizing your GitHub Command Palette keyboard shortcuts
The default keyboard shortcuts used to open the command palette may conflict with your default OS and browser keyboard shortcuts. You have the option to customize your keyboard shortcuts in the Accessibility section of your account settings. In the command palette settings, you can customize the keyboard shortcuts for opening the command palette in both search mode and command mode.
Navigating with the GitHub Command Palette
You can use the command palette to navigate to any page that you have access to on GitHub.
-
Use Ctrl+K (Windows/Linux) or Command+K (Mac) to open the command palette with a scope determined by your current location in the UI.
-
Start typing the path you want to navigate to. The suggestions in the command palette change to match your text.
-
Optionally, narrow, expand, or completely change the scope for suggestions by editing the path in the command palette's text field.
- To narrow the scope within a user or organization account, highlight a repository then use Tab to add it to the scope.
- To expand the scope, highlight and remove an item in the scope using the Backspace or delete key.
- To clear the scope and text box, click Clear or use Ctrl+Backspace (Windows and Linux) or Command+Delete (Mac).
You can also use keystrokes to narrow your search. For more information, see "Keystroke functions."
-
Finish entering the path, or use the arrow keys to highlight the path you want from the list of suggestions.
-
Use Enter to jump to your chosen location. Alternatively, use Ctrl+Enter (Windows and Linux) or Command+Enter (Mac) to open the location in a new browser tab.
Searching with the GitHub Command Palette
You can use the command palette to search for anything on GitHub.
-
Use Ctrl+K (Windows/Linux) or Command+K (Mac) to open the command palette with a scope determined by your current location in the UI.
-
Optionally, narrow, expand, or completely change the scope for suggestions by editing the path in the command palette's text field.
- To narrow the scope within a user or organization account, highlight a repository then use Tab to add it to the scope.
- To expand the scope, highlight and remove an item in the scope using the Backspace or delete key.
- To clear the scope and text box, click Clear or use Ctrl+Backspace (Windows and Linux) or Command+Delete (Mac).
-
Optionally, use keystrokes to find specific types of resource:
- # Search for issues, pull requests, discussions, and projects
- ! Search for projects
- @ Search for users, organizations, and repositories
- / Search for files within a repository scope
-
Begin entering your search terms. The command palette will offer you a range of suggested searches based on your search scope.
You can also use the full syntax of GitHub's integrated search within the command palette. For more information, see "Search on GitHub documentation."
-
Use the arrow keys to highlight the search result you want and use Enter to jump to your chosen location. Alternatively, use Ctrl+Enter (Windows and Linux) or Command+Enter (Mac) to open the location in a new browser tab.
Running commands from the GitHub Command Palette
You can use the GitHub Command Palette to run commands. For example, you can create a new repository or issue, or change your theme. When you run a command, the location for its action is determined by either the underlying page or the scope shown in the command palette.
- Pull request and issue commands always run on the underlying page.
- Higher-level commands, for example, repository commands, run in the scope shown in the command palette.
For a full list of supported commands, see "GitHub Command Palette reference."
-
The default keyboard shortcuts to open the command palette in command mode are Ctrl+Shift+K (Windows and Linux) or Command+Shift+K (Mac). If you already have the command palette open, press > to switch to command mode. GitHub suggests commands based on your location.
-
Optionally, narrow, expand, or completely change the scope for suggestions by editing the path in the command palette's text field.
- To narrow the scope within a user or organization account, highlight a repository then use Tab to add it to the scope.
- To expand the scope, highlight and remove an item in the scope using the Backspace or delete key.
- To clear the scope and text box, click Clear or use Ctrl+Backspace (Windows and Linux) or Command+Delete (Mac).
-
If the command you want is not displayed, check your scope then start entering the command name in the text box.
-
Use the arrow keys to highlight the command you want and use Enter to run it.
Closing the command palette
When the command palette is active, you can use one of the following keyboard shortcuts to close the command palette:
- Search and navigation mode: Esc or Ctrl+K (Windows and Linux) Command+K (Mac)
- Command mode: Esc or Ctrl+Shift+K (Windows and Linux) Command+Shift+K (Mac)
If you have customized the command palette keyboard shortcuts in the Accessibility settings, your customized keyboard shortcuts will be used for both opening and closing the command palette.
GitHub Command Palette reference
Keystroke functions
These keystrokes are available when the command palette is in navigation and search modes, that is, they are not available in command mode.
Keystroke | Function |
---|---|
> | Enter command mode. For more information, see "Running commands from the GitHub Command Palette." |
# | Search for issues, pull requests, discussions, and projects. For more information, see "Searching with the GitHub Command Palette." |
@ | Search for users, organizations, and repositories. For more information, see "Searching with the GitHub Command Palette." |
/ | Search for files within a repository scope or repositories within an organization scope. For more information, see "Searching with the GitHub Command Palette." |
! | Search just for projects. For more information, see "Searching with the GitHub Command Palette." |
Ctrl+C or Command+C | Copy the search or navigation URL for the highlighted result to the clipboard. |
Enter | Jump to the highlighted result or run the highlighted command. |
Ctrl+Enter or Command+Enter | Open the highlighted search or navigation result in a new browser tab. |
? | Display help within the command palette. |
Global commands
These commands are available from all scopes.
Command | Behavior |
---|---|
Import repository | Create a new repository by importing a project from another version control system. For more information, see "Importing a repository with GitHub Importer." |
New gist | Open a new gist. For more information, see "Creating gists." |
New organization | Create a new organization. For more information, see "Creating a new organization from scratch." |
New project | Create a new project. For more information, see "Creating a project." |
New repository | Create a new repository from scratch. For more information, see "Creating a new repository." |
Switch theme to <theme name> | Change directly to a different theme for the UI. For more information, see "Managing your theme settings." |
Organization commands
These commands are available only within the scope of an organization.
Command | Behavior |
---|---|
New team | Create a new team in the current organization. For more information, see "Creating a team." |
Repository commands
Most of these commands are available only on the home page of the repository. If a command is also available on other pages, this is noted in the behavior column.
Command | Behavior |
---|---|
Clone repository: <URL type> | Copy the URL needed to clone the repository using GitHub CLI, HTTPS, or SSH to the clipboard. For more information, see "Cloning a repository." |
New discussion | Create a new discussion in the repository. For more information, see "Quickstart for GitHub Discussions." |
New file | Create a new file from any page in the repository. For more information, see "Adding a file to a repository." |
New issue | Open a new issue from any page in the repository. For more information, see "Creating an issue." |
Open in github.dev editor | Open the current repository in the github.dev editor. For more information, see "The github.dev web-based editor." |
File commands
These commands are available only when you open the command palette from a file in a repository.
Command | Behavior |
---|---|
Copy permalink | Create a link to the file that includes the current commit SHA and copy the link to the clipboard. For more information, see "Getting permanent links to files." |
Open in github.dev editor | Open the currently displayed file in github.dev editor. For more information, see "The github.dev web-based editor." |
Discussion commands
These commands are available only when you open the command palette from a discussion. They act on your current page and are not affected by the scope set in the command palette.
Command | Behavior |
---|---|
Delete discussion... | Permanently delete the discussion. For more information, see "Managing discussions." |
Edit discussion body | Open the main body of the discussion ready for editing. |
Subscribe /unsubscribe | Opt in or out of notifications for additions to the discussion. For more information, see "About notifications." |
Transfer discussion... | Move the discussion to a different repository. For more information, see "Managing discussions." |
Issue commands
These commands are available only when you open the command palette from an issue. They act on your current page and are not affected by the scope set in the command palette.
Command | Behavior |
---|---|
Close /reopen issue | Close or reopen the current issue. For more information, see "About issues." |
Convert issue to discussion... | Convert the current issue into a discussion. For more information, see "Moderating discussions." |
Delete issue... | Delete the current issue. For more information, see "Deleting an issue." |
Edit issue body | Open the main body of the issue ready for editing. |
Edit issue title | Open the title of the issue ready for editing. |
Lock issue | Limit new comments to users with write access to the repository. For more information, see "Locking conversations." |
Pin /unpin issue | Change whether or not the issue is shown in the pinned issues section for the repository. For more information, see "Pinning an issue to your repository." |
Subscribe /unsubscribe | Opt in or out of notifications for changes to this issue. For more information, see "About notifications." |
Transfer issue... | Transfer the issue to another repository. For more information, see "Transferring an issue to another repository." |
Pull request commands
These commands are available only when you open the command palette from a pull request. They act on your current page and are not affected by the scope set in the command palette.
Command | Behavior |
---|---|
Close /reopen pull request | Close or reopen the current pull request. For more information, see "About pull requests." |
Convert to draft /Mark pull request as ready for review | Change the state of the pull request to show it as ready, or not ready, for review. For more information, see "Changing the stage of a pull request." |
Copy current branch name | Add the name of the head branch for the pull request to the clipboard. |
Edit pull request body | Open the main body of the pull request ready for editing. |
Edit pull request title | Open the title of the pull request ready for editing. |
Subscribe /unsubscribe | Opt in or out of notifications for changes to this pull request. For more information, see "About notifications." |
Update current branch | Update the head branch of the pull request with changes from the base branch. This is available only for pull requests that target the default branch of the repository. For more information, see "About branches." |