github / github/app

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

Ouverte
#2,903 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Aucune donnée de langage
Étoiles
2.1k
Forks
153
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

**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 |

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github, vscode
Domaine
api
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
À clarifier
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.