Skip to main content

GitHub Command Palette

Use the command palette in GitHub to navigate, search, and run commands directly from your keyboard.

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.

Screenshot of the command palette. The "Issues" and "Pull requests" pages for the current repository are suggested.

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.

Screenshot of the command palette. "switch theme to dark" is in the command palette input, and results for changing your theme are displayed.

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).

Screenshot of the command palette. "octo-org" is highlighted with an orange outline.

Notes:

  • 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.

You can use the command palette to navigate to any page that you have access to on GitHub.

  1. 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.

  2. Start typing the path you want to navigate to. The suggestions in the command palette change to match your text.

  3. 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."

  4. Finish entering the path, or use the arrow keys to highlight the path you want from the list of suggestions.

  5. 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.

  1. 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.

  2. 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).
  3. 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
  4. 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."

  5. 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."

  1. 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.

  2. 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).
  3. If the command you want is not displayed, check your scope then start entering the command name in the text box.

  4. 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.

KeystrokeFunction
>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+CCopy the search or navigation URL for the highlighted result to the clipboard.
EnterJump to the highlighted result or run the highlighted command.
Ctrl+Enter or Command+EnterOpen 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.

CommandBehavior
Import repositoryCreate a new repository by importing a project from another version control system. For more information, see "Importing a repository with GitHub Importer."
New gistOpen a new gist. For more information, see "Creating gists."
New organizationCreate a new organization. For more information, see "Creating a new organization from scratch."
New projectCreate a new project. For more information, see "Creating a project."
New repositoryCreate 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.

CommandBehavior
New teamCreate 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.

CommandBehavior
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 discussionCreate a new discussion in the repository. For more information, see "Quickstart for GitHub Discussions."
New fileCreate a new file from any page in the repository. For more information, see "Adding a file to a repository."
New issueOpen a new issue from any page in the repository. For more information, see "Creating an issue."
Open in github.dev editorOpen 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.

CommandBehavior
Copy permalinkCreate 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 editorOpen 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.

CommandBehavior
Delete discussion...Permanently delete the discussion. For more information, see "Managing discussions."
Edit discussion bodyOpen the main body of the discussion ready for editing.
Subscribe/unsubscribeOpt 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.

CommandBehavior
Close/reopen issueClose 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 bodyOpen the main body of the issue ready for editing.
Edit issue titleOpen the title of the issue ready for editing.
Lock issueLimit new comments to users with write access to the repository. For more information, see "Locking conversations."
Pin/unpin issueChange 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/unsubscribeOpt 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.

CommandBehavior
Close/reopen pull requestClose or reopen the current pull request. For more information, see "About pull requests."
Convert to draft/Mark pull request as ready for reviewChange 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 nameAdd the name of the head branch for the pull request to the clipboard.
Edit pull request bodyOpen the main body of the pull request ready for editing.
Edit pull request titleOpen the title of the pull request ready for editing.
Subscribe/unsubscribeOpt in or out of notifications for changes to this pull request. For more information, see "About notifications."
Update current branchUpdate 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."