github / github/copilot-cli

Fix browser login URL wrapping and fallback

Abierto
#4,400 0 comentarios 1 reacción 0 asignados Ver en GitHub
area:authentication area:terminal-rendering
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

## Describe the bug

The Device Code login flow works as expected: it displays a one-time code and URL, opens the URL automatically, and offers to copy the code to the clipboard when a key is pressed.

The **Sign in with your browser (recommended)** flow behaves differently. Although it displays a message such as “If your browser didn't open, visit:”, pressing a key does not open the browser. The fallback URL is also difficult or impossible to use in the terminal:

- The URL is long enough to wrap across terminal lines.
- Only the beginning of the URL (for example, `https://github.com/login/oauth/authorize?`) is rendered as a clickable link.
- The query string containing `client_id` and the remaining parameters appears after the line break and is neither clickable nor reliably selectable/copied.
- Resizing the terminal changes the wrapping behavior unpredictably; depending on the width, the URL may appear on one line with its end clipped or wrap inconsistently.

This prevents users from completing browser authentication when automatic browser opening fails.

## Affected environment

- GitHub Copilot CLI
- Linux under WSL2

## Steps to reproduce

1. Start the GitHub Copilot CLI login flow.
2. Select **Sign in with your browser (recommended)**.
3. Observe the fallback message and URL.
4. Press a key when prompted.
5. If the browser does not open, try selecting or clicking the displayed URL, then resize the terminal and observe the URL again.

## Expected behavior

The browser login flow should use the same browser-opening behavior as the Device Code flow: pressing a key should open the browser automatically.

If automatic browser opening fails, the complete fallback URL should be rendered as one usable clickable link without being split into a non-interactive suffix. The CLI should also provide a final copy-to-clipboard option so users can paste the complete URL into a browser manually.

## Additional context

Please preserve the full URL and its query parameters across terminal widths, or otherwise provide a terminal-safe presentation that remains clickable and copyable.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en el flujo de inicio de sesión de GitHub Copilot CLI y compara la ruta „Sign in with your browser“ con el flujo Device Code. Traza la presentación de la URL de fallback en distintos anchos de terminal; se considera completado cuando al pulsar una tecla se abre el navegador y una URL de fallback completa sigue siendo accesible mediante clic y copiable, con una opción final para el portapapeles.

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

Evaluación

Stack tecnológico
shell
Área
authentication, cli
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.