Saving a custom provider does not set Goose's default provider/model, leaving Goose unavailable
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- desktop
Línea de trabajo
Comienza con src/features/providers/hooks/useCustomProviders.ts y compara su flujo de configuración correcto con useCredentials.ts, que llama a saveDefaultProviderSelection. Lee src/features/providers/defaultProviderConfig.ts para entender cómo se actualizan los valores predeterminados y el estado de disponibilidad. Se considera terminado cuando un proveedor personalizado recién guardado selecciona un modelo solo cuando no existen valores predeterminados, persiste ambos valores predeterminados de Goose y se puede seleccionar después de recargar sin reemplazar los valores predeterminados existentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Before filing
- I searched open and closed issues for duplicates.
- I reproduced this on the latest release.
- This is one bug, not several bundled together.
Closest existing issue
none found
What's broken
Saving a valid custom OpenAI-compatible provider writes the provider JSON and stores its credential, but it does not persist Goose's active provider and model. Goose remains not_ready and cannot be selected in a chat, even after restarting Berd. In this case it was Opencode Zen.
Steps to reproduce
- Start with a Goose profile that has no saved default provider or model, then launch Berd.
- Open Settings and use the provider connection dialog to create a custom OpenAI-compatible provider.
- Configure the provider with:
- Name:
OpenCode Zen - API URL:
https://opencode.ai - Base path:
/zen/v1/responses - Authentication: enabled, with a valid OpenCode Zen API key
- Model list including
gpt-5.6-luna
- Name:
- Save the provider. The resulting custom-provider file is valid and contains the expected base URL, base path, and model list.
- Return to either a new chat or an existing chat with prior history and open the agent/model picker.
- Observe that Goose is unavailable and reports
not_ready. - Quit and relaunch Berd.
- Observe that Goose is still unavailable.
What you expected to happen
After Berd successfully saves and verifies the custom provider, it should save that provider and one of its models as Goose's active defaults when Goose has no defaults yet. Goose should become selectable without editing Goose configuration files manually.
What actually happened
Berd created this provider configuration successfully:
{
"name": "custom_opencode_zen",
"engine": "openai",
"base_url": "https://opencode.ai",
"base_path": "/zen/v1/responses",
"requires_auth": true
}
However, ~/.config/goose/config.yaml still had no GOOSE_PROVIDER or GOOSE_MODEL entry. The bundled Goose diagnostic reported that no provider was configured, so Berd continued to classify the Goose harness as not_ready. Restarting Berd did not change that state.
The workaround was to add these entries manually:
GOOSE_PROVIDER: custom_opencode_zen
GOOSE_MODEL: gpt-5.6-luna
After reloading Berd's Goose process, the same provider passed its authentication and connection checks and Goose became selectable.
How often does it happen?
Every time — reliably reproducible
Berd version
0.6.2, the latest release at the time of reporting
Operating system
macOS (Apple Silicon)
Model and provider
Opencode Zen, all models
Relevant log output
The app log repeatedly classified the harness as not ready before the workaround:
[2026-08-20][01:17:41][tauri_plugin_berdctl::server][INFO] [berdctl] /v1/call command=info result=harness_not_ready duration_ms=580
[2026-08-20][01:26:06][tauri_plugin_berdctl::server][INFO] [berdctl] /v1/call command=info result=harness_not_ready duration_ms=1
[2026-08-20][01:27:17][tauri_plugin_berdctl::server][INFO] [berdctl] /v1/call command=info result=harness_not_ready duration_ms=1
Before the workaround, the bundled Goose diagnostic returned:
Provider Check:
Provider: not configured: Configuration value not found: GOOSE_PROVIDER
After adding the two missing default entries and reloading Goose, the diagnostic returned:
Provider Check:
Provider: custom_opencode_zen
Model: gpt-5.6-luna
Auth: ok
Connection: ok
Screenshots, recordings, or other context
I did not patch the Berd application or its bundled Goose binary. The only persistent manual change was adding GOOSE_PROVIDER and GOOSE_MODEL to ~/.config/goose/config.yaml; I then reloaded the Goose process.
A read-only inspection of current main suggests that custom-provider creation and update refresh the provider catalog and model cache, but do not call the existing default-selection helper:
useCustomProviders.tssaves the custom provider and refreshes its models.useCredentials.tscallssaveDefaultProviderSelection(providerId)for configured built-in providers when readiness isneeds_setup.defaultProviderConfig.tsalready persists both defaults and refreshes the readiness store.
The likely fix is to give successful custom-provider setup the same conditional default-selection behavior, without replacing an existing default provider.
This report is only about the missing Goose defaults and readiness state. Endpoint path composition is a separate concern and is not included here.
Bug identified and fixed by GPT 5.6 Sol from a Berd chat, this report was generated by 5.6 Sol in Berd as well.
- Lenguaje dominante
- TypeScript
- Estrellas
- 954
- Forks
- 124
- Merge medio
- 1 d 10 h
- PR fusionados (30 d)
- 69
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de block/berd
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
block/berd#166 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
Los mantenedores suelen responder en 1 día
Todos los issues de block/berd
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
callstackincubator/rozenite#518 ·
Los mantenedores suelen responder en 1 día
-
Area/Workflow Priority/Blocker Type/Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
wso2/product-integrator#2622 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
area:bash bug has repro platform:macos
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
anthropics/claude-code#98644 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
allure-framework/allure-js#1603 ·
Los mantenedores suelen responder en 1 día