Skip to content

Kill the Copilot language server process

Mason Chen edited this page Jul 16, 2026 · 1 revision

Kill the Copilot language server process

In rare cases, the Copilot language server (CLS) may keep running after a JetBrains IDE starts to close. This can:

  • prevent the IDE from closing;
  • leave the language server running after the IDE has closed; or
  • prevent Windows from replacing plugin files during a GitHub Copilot plugin update.

This page explains how to stop the process and safely retry a plugin update.

Note

GitHub Copilot for JetBrains 1.13.1 includes stronger language server shutdown handling. Update to version 1.13.1 or later when possible.

Before you start

Save your work and wait for any important Copilot request to finish. Killing the language server stops active Copilot requests. The IDE may start a new language server when Copilot is used again or when the IDE restarts.

The language server can run in either of these forms:

  • the native copilot-language-server executable; or
  • node running the plugin's copilot-agent/dist/language-server.js file.

If more than one language server process is running, stop all of them. Do not stop every node process because other applications may also use Node.js.

Quick mitigation

Stop every CLS process, then immediately close or restart the IDE. When updating the plugin, stop CLS before selecting Restart IDE, or disable the plugin before stopping CLS and restarting the IDE.

Step-by-step instructions

Windows: Use PowerShell or System Informer

Use PowerShell

Windows Task Manager may show the native language server as Node.js JavaScript Runtime. A JavaScript-based language server also appears as node.exe, which is difficult to distinguish from other Node.js processes. For this reason, we recommend checking the full command line before stopping it.

Open PowerShell and run the following command to find both forms of CLS:

$cls = Get-CimInstance Win32_Process | Where-Object {
    ($_.Name -eq "copilot-language-server.exe" -and
        $_.ExecutablePath -match "[\\/]copilot-agent[\\/]native[\\/]") -or
    ($_.Name -eq "node.exe" -and
        $_.CommandLine -match "[\\/]copilot-agent[\\/].*[\\/]language-server\.js")
}

$cls |
    Select-Object ProcessId, Name, ExecutablePath, CommandLine |
    Format-List

Review the displayed paths and commands. A matching command should contain one of these paths:

...\copilot-agent\native\win32-*\copilot-language-server.exe --stdio
...\node.exe ...\copilot-agent\dist\language-server.js --stdio

After confirming the matches, run this command in the same PowerShell window:

$cls | ForEach-Object {
    Stop-Process -Id $_.ProcessId -Force
}

If PowerShell reports an access error, open it as an administrator and repeat the steps.

Optional: Use System Informer

System Informer is a free, open-source process monitor for Windows. It can show the full executable path, command line, and parent process tree, which makes CLS easier to identify than in Task Manager.

  1. Download System Informer from its official download page.
  2. Find the process with one of the CLS commands shown above.
  3. Use the executable path, command line, and parent JetBrains IDE process, when present, to confirm that it belongs to GitHub Copilot.
  4. Terminate the confirmed process. Repeat this for every matching CLS process.

Do not terminate a node.exe process unless its command line contains the GitHub Copilot plugin's copilot-agent\dist\language-server.js path.

macOS: Use Terminal

Use Terminal to list both forms of CLS:

ps -ax -o pid=,command= |
  grep -E 'copilot-language-server|copilot-agent/.*/language-server\.js' |
  grep -v grep

Review the results, then stop the matching processes:

pkill -f 'copilot-language-server|copilot-agent/.*/language-server\.js'
Linux: Use a terminal

Use a terminal to list both forms of CLS:

ps -ax -o pid=,command= |
  grep -E 'copilot-language-server|copilot-agent/.*/language-server\.js' |
  grep -v grep

Review the results, then stop the matching processes:

pkill -f 'copilot-language-server|copilot-agent/.*/language-server\.js'
If the IDE is stuck while closing
  1. Leave the IDE shutdown in progress.
  2. Use the steps above to stop every Copilot language server process.
  3. The IDE should then finish closing.

If the IDE still does not close, collect the IDE log before ending the IDE process, if possible. You can find the log through Help > Show Log in Explorer/Finder/File Manager.

Upgrade the plugin when CLS blocks the update

On Windows, a running language server may keep plugin files locked. The IDE may then show an error similar to:

java.nio.file.AccessDeniedException:
<IDE configuration directory>\plugins\github-copilot-intellij\copilot-agent\native\win32-x64\copilot-language-server.exe

Do not manually delete plugin files while the language server is running. Use one of the following update methods.

Option 1: Stop CLS before selecting Restart IDE

Use this method when the plugin update has been downloaded and the Plugins page is asking you to restart the IDE.

  1. Do not select Restart IDE yet.
  2. Stop every Copilot language server process by using the steps above.
  3. Immediately return to the IDE and select Restart IDE.
  4. After the IDE restarts, check the installed GitHub Copilot plugin version.

Option 2: Disable Copilot before updating

Use this method if an earlier update failed or you want to stop Copilot before the restart. It also prevents the plugin from starting another language server before the update.

  1. Open Settings/Preferences > Plugins > Installed.
  2. Find GitHub Copilot and disable it.
  3. Before restarting the IDE, stop every Copilot language server process.
  4. Restart the IDE.
  5. Open the Plugins page and install or update GitHub Copilot to the required version.
  6. Enable the plugin if it is still disabled, then restart the IDE when asked.

If an update already failed during IDE startup

  1. Close the IDE. If shutdown is stuck, stop the language server process.
  2. Confirm that neither form of the Copilot language server remains.
  3. Start the IDE and retry the plugin update.

If the problem continues

If this still happens with GitHub Copilot 1.13.1 or later, report it in the GitHub Copilot for JetBrains feedback repository. Include:

  • the GitHub Copilot plugin version;
  • the JetBrains IDE name and version;
  • the operating system;
  • whether the IDE was starting, running, or closing; and
  • the IDE log, after removing any sensitive information.

Clone this wiki locally