github / github/app

**Title:** GitHub Copilot App BYOK fails with OpenAI-compatible endpoint whil...

Offen
#2,903 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Keine Sprachdaten
Sterne
2.1k
Forks
153
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

**Title:** GitHub Copilot App BYOK fails with OpenAI-compatible endpoint while VS Code works

I'm using an OpenAI-compatible BYOK endpoint from OpenCode Go.

The same endpoint, API key, and model work normally when configured in VS Code, but fail when configured in the GitHub Copilot App.

The Copilot App returns HTTP 400 errors such as:

```text
Failed to deserialize the JSON body into the target type:
messages[1]: unknown variant `image_url`, expected `text`
```

and:

```text
invalid_request_error:
Extra inputs are not permitted,
field: `messages[2].refusal`,
value: None
```

Steps to reproduce:

1. Configure the OpenCode Go OpenAI-compatible endpoint in VS Code.
2. Use the model normally — requests succeed.
3. Configure the same endpoint, API key, and model in GitHub Copilot App using BYOK.
4. Send a request.
5. GitHub Copilot App returns HTTP 400.

Expected behavior:

The same OpenAI-compatible endpoint should work in GitHub Copilot App as it does in VS Code.

Actual behavior:

Requests from GitHub Copilot App contain fields/message formats that the endpoint rejects, while VS Code requests succeed.

I'm not sure whether this is caused by the Copilot App request payload or an incompatibility in the endpoint, but the issue is reproducible specifically with GitHub Copilot App.

---
| Field | Value |
| --- | --- |
| App version | 1.1.10 |
| OS | Windows 10.0.26300 |
| Theme | GitHub |
| Path | /chat |
| Tenure | Week 9 |

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start at the /chat BYOK request path and compare the GitHub Copilot App payload with the working VS Code request for the same endpoint, key, and model. Reproduce the HTTP 400 responses and determine whether the image_url and refusal fields are sent by the app; done means the endpoint accepts the app's request without those deserialization errors.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
github, vscode
Bereich
api
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.