Skip to content

Releases: damnthonyy/vscode

v0.54.0 — Main chat requests now intercepted by headroom

23 Jun 12:46
5c0e080

Choose a tag to compare

What's new

Fix: Main chat requests now routed through headroom

Previous versions only compressed inline completions (the ghost-text suggestions). Main chat requests (everything in the Copilot Chat panel) were silently falling back to WebSocket transport, bypassing the HTTP proxy interceptor entirely — resulting in 0% token savings for chat.

This release forces HTTP transport whenever github.copilot.chat.proxy.url is configured, ensuring all chat traffic flows through headroom.

Huge thanks to @boston008 for identifying the root cause — WebSocket transport in chatMLFetcher.ts bypassing the HTTP interceptor — and providing the fix.


Install

Quick install (macOS)

bash <(curl -fsSL https://raw.githubusercontent.com/damnthonyy/vscode/main/scripts/install-macos.sh)

Quick install (WSL / Linux)

bash <(curl -fsSL https://raw.githubusercontent.com/damnthonyy/vscode/main/scripts/install-wsl.sh)

Manual install

Download copilot-proxy.vsix below, then:

code --install-extension copilot-proxy.vsix --force

Required VS Code settings

Open Ctrl/Cmd+Shift+P → Open User Settings (JSON) and add:

{
  "github.copilot.chat.proxy.url": "http://localhost:8787/v1",
  "extensions.autoUpdate": "off"
  "extensions.autoCheckUpdates": "off"
}

Note: extensions.autoUpdate: false and extensions.autoCheckUpdates: false prevent the VS Code marketplace from silently replacing this patched extension with the official one.


Start headroom (Copilot mode)

export GITHUB_TOKEN=$(gh auth token)
docker compose -f docker-compose.yml -f docker-compose.copilot.yml up headroom-proxy

Changelog

  • v0.54.0 — Force HTTP transport when headroom proxy URL is set, fixing 0% savings on main chat (credit: @boston008)
  • v0.53.3 — WSL remote install fix + macOS install script
  • v0.53.2 — Initial release with ProxyInterceptingFetcherService and Docker VSIX build pipeline

v0.53.3 — WSL Remote + macOS install fix

22 Jun 09:00
30708f3

Choose a tag to compare

What's fixed

WSL Remote install (scripts/install-wsl.sh)

VS Code Remote WSL runs two separate extension hosts: one on Windows and one on the WSL Linux server. Previously the script only installed on the Windows side, so the remote server kept picking up the official marketplace extension.

The script now installs on both sides automatically:

code --install-extension copilot-proxy.vsix --force                          # Windows side
code --remote "wsl+${WSL_DISTRO_NAME}" --install-extension ... --force       # WSL remote side

macOS install (scripts/install-macos.sh) — new

On macOS, Copilot Chat is bundled as a built-in extension inside the app. After a first install attempt, VS Code writes a "pending restart" state that blocks reinstalls — even after Cmd+Q — because Code Helper processes linger in the background, causing:

"Please restart VS Code before reinstalling GitHub Copilot Chat."

install-macos.sh kills all VS Code processes before installing to clear that state.

Auto-update settings

Both extensions.autoUpdate: false and extensions.autoCheckUpdates: false must be set. One alone is not enough.

Installation

macOS:

bash scripts/install-macos.sh

WSL:

bash scripts/install-wsl.sh

Then in VS Code settings (Ctrl/Cmd+Shift+P → Open User Settings JSON):

{
  "github.copilot.chat.proxy.url": "http://localhost:8787/v1",
  "extensions.autoUpdate": "off",
  "extensions.autoCheckUpdates": "off"
}

Previous releases

  • v0.53.2 — Added github.copilot.chat.proxy.url VS Code setting, Docker VSIX builder, WSL install script

v0.53.2 — Headroom proxy integration for Copilot Chat

20 Jun 10:56
9066f5c

Choose a tag to compare

Overview

This release patches the GitHub Copilot Chat VS Code extension to route all LLM requests through Headroom, a context-compression proxy, without requiring TLS interception or any OS-level certificate installation.

It is a drop-in replacement for the official GitHub.copilot-chat marketplace extension.


What's new in v0.53.2

Core: proxy interception layer

All requests to GitHub Copilot LLM endpoints (api.githubcopilot.com and variants) are transparently rewritten to target the Headroom proxy. The original destination is preserved via X-Original-Host and X-Original-Url headers so Headroom knows where to forward after compression.

Before:  POST https://api.githubcopilot.com/v1/chat/completions
After:   POST http://localhost:8787/v1/chat/completions
           X-Original-Host: api.githubcopilot.com
           X-Original-Url:  https://api.githubcopilot.com/v1/chat/completions

Interception covers both request paths inside the extension:

  • Direct fetch path — BYOK / custom endpoints via networking.ts
  • CAPI path — standard Copilot chat completions via ProxyInterceptingFetcherService in capiClient.ts

New VS Code setting: github.copilot.chat.proxy.url

Previously, the only way to configure the proxy was via the COPILOT_PROXY_URL environment variable, which only works when VS Code is launched from a terminal where that variable is exported.

The new VS Code setting persists independently of how VS Code is launched:

Launch method COPILOT_PROXY_URL env var github.copilot.chat.proxy.url setting
Terminal (./scripts/code.sh)
Dock / Start Menu / Spotlight
Remote-WSL / after reboot

Improved WSL host IP detection (scripts/install-wsl.sh)

The install script now uses a 4-level fallback strategy to reliably detect the Windows host IP in any WSL2 networking configuration:

  1. Mirrored networking mode — detected via .wslconfig, uses 127.0.0.1 directly
  2. ip route default gateway — reliable in standard NAT mode
  3. /etc/resolv.conf — filtered to exclude loopback addresses (127.x) set by systemd-resolved
  4. /etc/resolv.conf unfiltered — last resort

Installation

Requirements

  • VS Code 1.125.0 or later
  • Headroom running on your machine or network

Step 1 — Download and install the extension

Download copilot-proxy.vsix from the assets below, then:

code --install-extension copilot-proxy.vsix --force

Windows / WSL users: use the automated install script instead:

git clone https://github.com/damnthonyy/vscode
cd vscode
bash scripts/install-wsl.sh

Step 2 — Configure VS Code

Open Ctrl/Cmd+Shift+POpen User Settings (JSON) and add:

"github.copilot.chat.proxy.url": "http://localhost:8787/v1",
"extensions.autoUpdate": "off"

Replace localhost with your Headroom host IP if running remotely.
extensions.autoUpdate: false prevents VS Code from overwriting the patched extension with the marketplace version.

Step 3 — Start Headroom and test

headroom proxy --port 8787

Open Copilot Chat in VS Code and send a message. Headroom should receive the request and compress the context before forwarding to GitHub Copilot.


Compatibility

Version
Base extension github.copilot-chat@0.53.0
VS Code engine ^1.125.0
Headroom Compatible with X-Original-Host header support (see PR #1192)