Fix GitHub Copilot Chat ‘Took Too Long to Get Ready’ in VS Code

If GitHub Copilot Chat shows “Copilot took too long to get ready. Please try again.” in VS Code on WSL, the problem is almost always DNS. Your WSL instance can’t resolve api.business.githubcopilot.com or other Copilot endpoints, causing a connection timeout. This guide shows you how to fix it.

Why This Happens on WSL

WSL auto-generates /etc/resolv.conf based on your Windows network settings. If you’re on a corporate VPN or a network with custom DNS servers, those DNS entries may not be able to resolve GitHub’s Copilot API endpoints. The Copilot extension times out after 10 seconds and shows the error.

You can confirm this is the issue by checking your current DNS and trying to resolve the Copilot endpoint:

cat /etc/resolv.conf
nslookup api.githubcopilot.com

If nslookup fails or takes a long time, DNS is the problem.

Fix 1: Update DNS in resolv.conf (Quick Fix)

Edit the DNS configuration to use public DNS servers:

sudo nano /etc/resolv.conf

Replace the existing nameserver entries with:

nameserver 8.8.8.8
nameserver 8.8.4.4

If you still need access to internal corporate resources (intranet, private repos, etc.), keep the corporate DNS entries below the public ones:

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 10.0.0.1
nameserver 10.0.0.2

DNS servers are tried in order. By listing public DNS first, external services like Copilot resolve immediately, and internal names fall back to your corporate DNS.

Save the file, then restart VS Code. Copilot Chat should connect.

Fix 2: Make the Change Permanent

The quick fix above gets overwritten every time WSL restarts because WSL auto-generates /etc/resolv.conf. To make your DNS changes stick, you need to disable that auto-generation.

For the full walkthrough, see How to Make Resolve Config Changes Permanent in WSL 2. Here’s the short version:

1. Disable auto-generation

sudo nano /etc/wsl.conf

Add these lines:

[network]
generateResolvConf = false

2. Set your DNS

sudo rm /etc/resolv.conf
sudo nano /etc/resolv.conf

Add your DNS servers:

nameserver 8.8.8.8
nameserver 8.8.4.4

3. Restart WSL

From PowerShell or Windows Terminal:

wsl --shutdown

Reopen your WSL terminal and VS Code. Your DNS settings will persist across restarts.

Other Things to Check

If DNS looks correct and Copilot still won’t connect:

  • Proxy settings — if you’re behind a corporate proxy, set http.proxy in VS Code settings to your proxy URL.
  • Firewall blocking — make sure your network allows outbound HTTPS connections to *.githubcopilot.com and *.github.com.
  • Extension version — update both the GitHub Copilot and GitHub Copilot Chat extensions to the latest version (Ctrl+Shift+X, then check for updates).
  • Sign out and back in — open the Command Palette (Ctrl+Shift+P), run GitHub Copilot: Sign Out, then sign in again.

Conclusion

The “Copilot took too long to get ready” error on WSL is a DNS resolution issue. Switching to public DNS servers (and making it permanent with wsl.conf) fixes it. If you run into other WSL networking problems, see Resolving Internet Connection Issues in WSL 2 on Ubuntu 20.04. For setting up your VS Code and WSL environment, check out How to Connect Visual Studio Code with WSL 2 for Linux Ubuntu.