How to Install GitHub Copilot

GitHub Copilot FundamentalsLesson 5 of 13Beginner11 min readVersion-sensitive
Published
Updated
Last technically verified
How to Install GitHub CopilotGitHub Copilot Fundamentals5Beginner/github-copilot/getting-started/install/

Installing GitHub Copilot takes a few minutes in any supported environment. The part that trips people up is not installation — it is discovering afterwards that the editor they chose does not support the feature they wanted.

This lesson covers installation and authentication for every currently supported environment, plus what to check when it does not work.

Choose your environment first

Copilot is not the same product in every editor. Before installing, know what you are getting.

Copilot feature support by IDEVerified August 20, 2026
Copilot feature support by IDE. Columns are IDEs; each cell states whether the feature is supported, in public preview, or not supported.
FeatureVS CodeVisual StudioJetBrainsEclipseXcodeNeovim
Code completionSupportedSupportedSupportedSupportedSupportedSupported
Next edit suggestionsSupportedSupportedIn public previewIn public previewIn public previewNot supported
ChatSupportedSupportedSupportedSupportedSupportedNot supported
Agent modeSupportedSupportedSupportedSupportedSupportedNot supported
Edit modeSupportedNot supportedSupportedNot supportedNot supportedNot supported
CheckpointsSupportedSupportedSupportedNot supportedSupportedNot supported
Copilot code reviewSupportedSupportedSupportedNot supportedSupportedNot supported
Custom instructionsSupportedSupportedIn public previewIn public previewIn public previewNot supported
Prompt filesSupportedSupportedIn public previewNot supportedIn public previewNot supported
Agent skillsSupportedSupportedIn public previewNot supportedNot supportedNot supported
Custom agentsSupportedSupportedIn public previewSupportedIn public previewNot supported
MCPSupportedSupportedSupportedSupportedSupportedNot supported
Workspace indexingSupportedSupportedSupportedSupportedNot supportedNot supported
Code referencingSupportedSupportedSupportedSupportedNot supportedNot supported
VisionIn public previewSupportedIn public previewSupportedIn public previewNot supported
BYOKIn public previewSupportedIn public previewIn public previewIn public previewNot supported

Captured from the latest release of each integration at the time of verification: VS Code 1.108.0, Visual Studio 18.6.0, JetBrains 1.5.66 (extension), Eclipse 0.14.0 (extension), Xcode 0.46.0 (extension), Neovim 1.18.0 (extension). GitHub publishes the feature matrix as a public preview and changes it often.

The headline reading:

  • VS Code has the fullest support and receives features first.
  • Visual Studio is close behind, and is the only environment with the .NET Upgrade Agent.
  • JetBrains IDEs support the core feature set, with several capabilities in public preview.
  • Eclipse and Xcode support chat, agent mode and MCP, with more features in preview.
  • Neovim supports code completion only. No chat, no agent mode.

VS Code

Setup is largely automatic. When you first use Copilot in VS Code, the required extensions are installed for you — you do not need to find them in the marketplace manually.

  1. Open VS Code.
  2. Click the Copilot icon in the title bar.
  3. If Copilot is not yet set up, VS Code prompts you through it.
  4. Sign in to GitHub when asked, and authorise the request in your browser.

That is the whole process. Once complete, the Copilot status indicator in the status bar shows whether Copilot is active for the current file.

Visual Studio

Visual Studio 2022 version 17.10 and later includes the unified Copilot and Copilot Chat extension as a built-in component. There is nothing to install.

  1. Open Visual Studio.
  2. Add your GitHub account to Visual Studio if you have not already, via the account picker in the top-right.
  3. Copilot activates once the account with Copilot access is present.

For Visual Studio 2022 versions 17.8 and 17.9, install the GitHub Copilot extension from the Visual Studio Marketplace, then add your GitHub account.

JetBrains IDEs

The GitHub Copilot plugin works across the JetBrains family — IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, PhpStorm, RubyMine, CLion and others.

  1. Open your JetBrains IDE.
  2. Go to the Plugins settings.
  3. Search the Marketplace for GitHub Copilot and click Install.
  4. Click Restart IDE when prompted.
  5. After restarting, go to Tools → GitHub Copilot → Login to GitHub.
  6. In the sign-in dialog, click Copy and Open to copy the device code and open the activation page.
  7. Paste the device code in the browser, click Continue, and authorise.

Eclipse

Install the GitHub Copilot extension for Eclipse, then authenticate through the same device-code flow used by JetBrains IDEs.

Eclipse supports chat, agent mode, MCP, custom agents, workspace indexing and code referencing. Custom instructions, prompt files and next edit suggestions are either in preview or unsupported — check the matrix above before relying on them.

Xcode

Install the GitHub Copilot extension for Xcode and authenticate.

Xcode supports code completion, chat, agent mode, checkpoints, code review and MCP. Several customisation features are in public preview.

Xcode’s completion shortcuts differ from other editors — notably, Tab accepts only the first line of a suggestion, holding Option shows the full suggestion, and Option+Tab accepts all of it. The shortcuts cheat sheet has the full list.

Neovim

Copilot supports code completion in Vim and Neovim. Chat and agent mode are not available.

Keyboard shortcuts are not bound by default in the way they are in other editors — you map them yourself using standard Neovim mapping.

Azure Data Studio

Azure Data Studio version 1.44.0 or later supports Copilot code completion via the GitHub Copilot extension, installed from within Azure Data Studio.

Copilot CLI

Copilot CLI is a terminal agent rather than an editor extension, and it installs separately.

npm — all platforms:

npm install -g @github/copilot

If your ~/.npmrc sets ignore-scripts=true, use:

npm_config_ignore_scripts=false npm install -g @github/copilot

WinGet — Windows:

winget install GitHub.Copilot

Homebrew — macOS and Linux:

brew install --cask copilot-cli

Then authenticate:

copilot login

On a local terminal this opens a browser and captures the result on a loopback callback. On a remote terminal — SSH, a codespace, a dev container, or CI — it defaults to the OAuth device code flow instead. Force either explicitly with --web-flow or --device-code.

Installing in a codespace or dev container

If your team develops in GitHub Codespaces or a dev container, Copilot behaves slightly differently and the differences catch people out.

In a codespace, the VS Code Copilot extension is available and your GitHub identity is already present, so authentication usually requires no separate step. Extensions can be pre-declared in devcontainer.json so every codespace starts with the same setup:

{
  "customizations": {
    "vscode": {
      "extensions": ["GitHub.copilot", "GitHub.copilot-chat"]
    }
  }
}

In a dev container running locally, the extension installs inside the container rather than on your host, so a working Copilot setup on your machine does not automatically carry across. Declaring the extensions as above is the reliable fix.

For Copilot CLI in either environment, the browser-based login flow cannot reach a loopback port, so authentication falls back to the device code flow automatically. If it does not, force it:

copilot login --device-code

Verify the installation

Do not assume it worked. Confirm it.

In an editor:

  1. Open a code file in a language you use.
  2. Check the Copilot status indicator shows active for that file.
  3. Type a descriptive function signature and pause. Ghost text should appear.
  4. Open chat and ask it to explain the current file.

If completion works but chat does not, you have a feature-support or access issue, not an installation one.

In the terminal:

copilot --version

Then start an interactive session with copilot and run /help to confirm the session is live.

Keeping Copilot updated

Copilot changes quickly, and old extension versions lose features.

  • VS Code updates extensions automatically by default.
  • Visual Studio updates Copilot with the IDE for 17.10 and later.
  • JetBrains shows plugin updates in the Plugins settings.
  • Copilot CLI updates itself unless you pass --no-auto-update. Update manually with copilot update, or /update inside a session.

Disabling Copilot

You do not have to uninstall to turn it off.

Temporarily, per file or globally: VS Code exposes a github.copilot.toggleCopilot command. It has no default keybinding, so bind one yourself or run it from the command palette. The status bar icon also offers enable/disable options.

Per language: most editors allow disabling completions for specific languages, which is useful if suggestions are unhelpful in one file type but valuable elsewhere.

Per repository: on Business and Enterprise plans, content exclusion keeps specified files or paths out of Copilot’s context entirely. This is an organisation-level control, not a personal preference.

Removing Copilot

  • VS Code / JetBrains / Eclipse / Xcode — uninstall the extension or plugin through the editor’s extension manager, then restart.
  • Visual Studio 17.10+ — Copilot is a built-in component; disable it rather than uninstalling.
  • Copilot CLI — remove it the way you installed it:
npm uninstall -g @github/copilot          # npm
brew uninstall --cask copilot-cli         # Homebrew
winget uninstall GitHub.Copilot           # WinGet

To sign out without removing anything, run copilot logout or use your editor’s GitHub account settings. Cancelling a paid subscription is separate again, and happens in your GitHub billing settings.

Troubleshooting

ProblemLikely causeResolution
Copilot unavailable or shows an access errorThe signed-in account has no Copilot accessConfirm which GitHub account is signed in, and that it holds Copilot Free or a paid plan
Signed in, still unavailableOrganisation or enterprise policy blocks CopilotAsk your administrator whether Copilot is enabled for your organisation
No inline suggestions in one file typeCompletions disabled for that languageCheck per-language settings in the editor
No suggestions anywhereExtension disabled, outdated, or not authenticatedVerify status indicator, update the extension, re-authenticate
Completions work, chat does notChat unsupported in that editor, or plan restrictionCheck the feature matrix for your editor
A documented feature is missingExtension or IDE version predates itUpdate to the latest stable versions
Agent mode absentEditor does not support it, or version too oldNeovim has no agent mode; update elsewhere
Copilot CLI installed but will not runOrganisation policy, or authentication failureCheck policy, then re-run copilot login
npm install -g fails on scriptsignore-scripts=true in ~/.npmrcUse npm_config_ignore_scripts=false npm install -g @github/copilot
CLI authentication fails on a remote hostBrowser flow cannot reach the loopback portUse copilot login --device-code
Suggestions stopped mid-sessionRate limiting, or the AI credit allowance is exhaustedWait and retry, check usage, or adjust your plan

Reading the status indicator

Every editor surfaces Copilot’s state somewhere, and learning to read it saves most of the debugging above.

The states you will encounter:

  • Active — Copilot is enabled and will suggest in the current file.
  • Disabled for this language — Copilot is working, but completions are switched off for this file type. A per-language setting, not a fault.
  • Not signed in — authentication is missing or expired. Re-authenticate.
  • No access — the account is signed in but has no Copilot entitlement, or an organisation policy is blocking it.

The distinction between the last two matters, because they have completely different fixes and both present as “Copilot is not working”. Re-installing the extension resolves neither.

When it is not an installation problem

Three symptoms are commonly misdiagnosed as broken installations:

“Copilot is ignoring our conventions.” It is working; it was not given the conventions. Write a repository custom instructions file — see Getting Started for a worked example.

“Suggestions are worse than they used to be.” Check what changed in your context, not in the product. Fewer relevant files open, or a new project without an instructions file, both degrade output.

“It stopped working today.” Check your AI credit usage before reinstalling. Included credits do not carry over between months, and running out is a common cause of sudden behaviour change.

Next steps

Installed and verified? Continue to Code Completion Explained to get more from inline suggestions, or Copilot Chat for the layer with the biggest immediate payoff.

If you have not built anything with it yet, How to Get Started walks through a complete first project ending in a passing test suite.

Sources

Every version-sensitive claim on this page was checked against first-party documentation. Only sources actually used are listed.

Primary sources