What is GitHub Copilot Chat?
GitHub Copilot Chat is the conversational part of GitHub Copilot: you ask questions or give tasks in plain language and Copilot answers using your code as context. GitHub's IDE chat guide says you can use it "to give you code suggestions, explain code, generate unit tests, and suggest code fixes."
Chat is also the front door to Copilot's agents. In most IDEs the same chat panel switches between asking questions and handing Copilot a task it carries out across files. On GitHub.com, a chat can start a cloud agent session and keep talking to you while it runs.
Where does Copilot Chat work?
GitHub's where to use Copilot page and feature matrix cover the surfaces.
| Surface | How to open chat | Notes |
|---|---|---|
| GitHub website | Any page, or github.com/copilot | Ask about repos, issues and pull requests; start agent work |
| GitHub Mobile | The Copilot icon, bottom right | Quick questions away from your desk |
| VS Code | Chat icon in the title bar | Ask, agent and plan modes; participants and # variables |
| Visual Studio | View then GitHub Copilot Chat | Ask and agent modes from 17.14 |
| JetBrains IDEs | GitHub Copilot Chat icon on the right side | Agent, ask, plan and edit modes |
| Xcode | Editor, GitHub Copilot, Open Chat | Agent and plan modes |
| Eclipse | Copilot icon in the status bar, Open Chat | Agent and plan modes; Eclipse 2024-09 or later |
The feature matrix marks chat as not supported in NeoVim, where Copilot offers code completion. Copilot CLI and the GitHub Copilot app are separate agent-first surfaces; see our Copilot CLI guide.
If you get Copilot through an organization, GitHub notes "you won't be able to use GitHub Copilot Chat if your organization owner has disabled chat."
Which chat modes does Copilot offer?
Modes decide how much Copilot does on its own. Availability differs by IDE, per GitHub's IDE chat guide.
| Mode | What it does | Where |
|---|---|---|
| Ask | Answers questions and suggests code without editing your project | VS Code, Visual Studio, JetBrains |
| Agent | Decides which files to change, edits them, proposes terminal commands and iterates | VS Code, Visual Studio, JetBrains, Xcode, Eclipse |
| Plan | Builds a structured implementation plan for you to review before any code changes | VS Code, JetBrains, Xcode, Eclipse |
| Edit | You pick a working set of files; Copilot proposes edits you accept or discard per file | VS Code and JetBrains only |
In VS Code you switch with the agents dropdown at the bottom of the chat view. If Agent is missing, GitHub says "your enterprise or organization administrator may have disabled agent mode for your IDE." In JetBrains, agent mode is the default and the same dropdown also lists Copilot CLI and custom agents.
Agent mode has its own guide: Copilot agent mode.
How do you add context: participants, slash commands and variables?
Copilot Chat uses three prefixes. GitHub's chat cheat sheet lists the common ones per surface, and typing the prefix in the prompt box shows what is available where you are.
@ participants (VS Code). "Chat participants are like domain experts who have a specialty that they can help you with." Examples from the cheat sheet:
@githubfor GitHub-specific skills, including web search@terminalfor the VS Code terminal shell and its contents@vscodefor VS Code commands and features@azurefor Azure services (public preview)
VS Code can also pick a participant for you from your wording; GitHub marks automatic inference as public preview.
/ slash commands. Shortcuts for common requests. In VS Code the cheat sheet lists /explain, /fix, /fixTestFailure, /tests, /help, /new and /clear. Visual Studio adds /doc and /optimize; Xcode has /doc, /explain, /fix, /simplify and /tests. JetBrains lists /explain, /fix, /tests and /help, plus CLI commands such as /compact when you run a Copilot CLI session there.
# variables and references. In VS Code, #file, #selection, #function, #class, #block, #project and others pull specific code into the prompt. Visual Studio uses # with a file name, line range or solution, for example Explain this function #MyFile.cs: 66-72?. In JetBrains you drag a file into the prompt box, or right-click it and pick Reference File in Chat.
@github #web What is the latest LTS of Node.js?
/tests #selection
How are these files related #MyFile.cs #MyFile2.cs
By default, chat in the IDE uses the file you have open or the code you have selected. To see what Copilot actually read, open the References list on the response. It may include your repository's custom instructions file, which is "automatically added to all of your chat questions." Our custom instructions guide shows how to write one.
What can Copilot Chat do on GitHub.com?
On the web, chat knows about your repositories, issues and pull requests. GitHub's chat on GitHub guide and Copilot on GitHub.com overview describe what it adds:
@mentions attach discussions, extensions, files, issues, pull requests and repositories.- Tools. Chat "is preconfigured with tools for tasks such as creating branches, updating files, and creating or updating issues. It also supports semantic code search."
- Model choice. Pick a model from the dropdown, or regenerate a response with another model to compare. On Copilot Business, the organization must allow model switching.
- Subthreads. Edit an earlier question to branch the conversation.
- Images and PDFs. JPEG, PNG, GIF, WEBP, PDF, HEIC and HEIF attachments work with models that accept image input, "on all Copilot plans."
- Agent handoff. Ask Copilot to research a repo or open a pull request and a cloud agent session starts; you can keep chatting about its progress.
Retention is spelled out: "Copilot Chat stores up to 100 of your most recent conversations. Messages within each conversation are kept for 28 days before being permanently deleted."
What are Copilot Chat's limits?
- Language. GitHub's Copilot Chat application card says "The primary supported language for GitHub Copilot Chat is English."
- Accuracy. Chat and agents "can produce incorrect or suboptimal code, including code that contains security vulnerabilities." Review and test before you ship.
- Public code matches. If your settings allow suggestions that match public code, matching code in a response comes with a reference to the source repositories and license information when found.
- Features vary by IDE. The feature matrix shows, for example, prompt files and custom instructions as preview in JetBrains and Xcode. Check it before you standardize a team on one workflow.
- Cost. Which models you can pick, and how much you can use, depend on your plan. See GitHub Copilot pricing.
Faster ways into chat in the IDE
You don't have to open the side panel every time:
- VS Code inline chat: Cmd+I on Mac or Ctrl+I on Windows and Linux, in the editor or the integrated terminal.
- VS Code quick chat: Shift+Option+Cmd+L on Mac or Ctrl+Shift+Alt+L on Windows and Linux.
- JetBrains inline chat: Ctrl+Shift+I, or right-click and choose GitHub Copilot, then Copilot: Inline Chat. See our Copilot in JetBrains guide.
- Visual Studio inline chat: right-click in the editor and select Ask Copilot.
Keep the prompts that work
Good chat prompts get reused: a review request, a test-writing brief, an explain-this-module question. Kipt keeps prompts like these as Markdown in a private GitHub repo you own, with {{name}} blanks for the file or ticket that changes each time, and Cmd+K search to find them again.