Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,14 @@ A proxy API server that lets you use GitHub Copilot in Xcode, either as a custom
- [Launchd agent](#launchd-agent)
- [CLI reference](#cli-reference)
- [Security](#security)
- [Testing](proxy-server/docs/TESTING.md)
- [License](#license)

## Why

> [!WARNING]
> Most other Copilot proxy servers (whether remote or local) work by reverse-engineering private Copilot APIs and spoofing the user-agent to impersonate VS Code. GitHub's abuse detection [flags this kind of usage](https://github.com/orgs/community/discussions/160013) and can restrict or suspend your Copilot access. The proxy projects [themselves warn about this risk](https://github.com/ericc-ch/copilot-api#important-notes). You should avoid using any of those servers. This server uses the official [Copilot SDK](https://github.com/github/copilot-sdk), which is the sanctioned way to build on top of Copilot.

Xcode 26 added support for third-party LLM providers, but it only supports ChatGPT and Claude out of the box. If you have a GitHub Copilot subscription, there's no built-in way to use it.

This server wraps the [GitHub Copilot SDK](https://github.com/github/copilot-sdk) and exposes it as an API that Xcode can talk to. It's built on [copilot-sdk-proxy](https://github.com/theblixguy/copilot-sdk-proxy), which handles the SDK integration and protocol translation. It supports three providers:
Expand Down
1 change: 1 addition & 0 deletions proxy-server/docs/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ Per-provider coverage:
These test things that llm-mock-server can't simulate:

- Session error mid-stream (no deltas, partial deltas)
- Prompt send failure (session.send() rejection)
- Context compaction events
- Reasoning block structure (Claude thinking blocks, Codex reasoning summary events)
- Tool execution event logging
Expand Down
Loading