github / github/app

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

Abierto
#2,903 4 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Sin datos de lenguaje
Estrellas
2.1k
Forks
153
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github, vscode
Área
api
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Necesita aclaración
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.