Per l’errore di provider o modello non trovato di OpenCode, abbina innanzitutto il modello selezionato agli ID di provider e modello effettivamente caricati da OpenCode. Il riferimento normalmente ha la forma providerId/modelId. Una chiave API corretta non può correggere un ID scritto male, un modello personalizzato non dichiarato o un file di configurazione che il processo in esecuzione non legge mai.
Segui l’errore, non solo la frase «problema del provider»
| Cosa vedi | Primo ramo da esaminare |
|---|---|
ProviderModelNotFoundError | Identità provider/modello, catalogo caricato e adattatore del modello |
| v2: modello non disponibile | Provider inattivo, modello assente o disabilitato, rilevamento o alias modificati |
ProviderInitError | Pacchetto del provider e configurazione di inizializzazione |
| HTTP 401 o 403 dall’endpoint | Credenziali, host e autorizzazioni dell’account |
| HTTP 429 o messaggio di fatturazione | Limiti di velocità e di spesa del provider che ha risposto |
La guida ufficiale alla risoluzione dei problemi indirizza gli errori di modello non trovato verso i riferimenti del modello. Nel codice sorgente del provider, la ricerca verifica sia la voce del provider sia la sua mappa dei modelli. Lo stesso errore può anche racchiudere un errore di modello mancante dell’adattatore. Acquisisci il messaggio esatto prima di modificare le credenziali o acquistare altro credito.
1. Identifica la versione e il modello selezionato
Esegui questi controlli dal progetto in cui si verifica il problema. Se l'applicazione desktop usa un server diverso, confronta la versione e la configurazione con questa installazione del terminale:
opencode --version
opencode models
opencode auth listTrova il riferimento completo del modello nell'elenco, quindi confrontalo carattere per carattere con la tua selezione. Il prefisso del provider fa parte dell'identità. Un modello offerto tramite un gateway personalizzato non diventa il provider Anthropic integrato solo perché il suo nome contiene Claude.
Non interpretare una credenziale salvata come prova di un'autenticazione remota riuscita. Dimostra che esiste una credenziale localmente; l'endpoint deve comunque accettarla quando viene effettuata una richiesta.
2. Correggi la coppia provider/modello
Questo esempio usa il formato del provider v1 e illustra i tre identificatori corrispondenti. Imposta la variabile d'ambiente indicata nel processo che avvia OpenCode oppure usa il flusso di credenziali documentato. Unisci i campi pertinenti alla configurazione invece di sovrascrivere impostazioni non correlate:
{
"$schema": "https://opencode.ai/config.json",
"model": "kunavo/claude-sonnet-5",
"provider": {
"kunavo": {
"npm": "@ai-sdk/openai-compatible",
"name": "Kunavo",
"options": {
"baseURL": "https://api.kunavo.com/v1",
"apiKey": "{env:KUNAVO_API_KEY}"
},
"models": {
"claude-sonnet-5": {
"name": "Claude Sonnet 5"
}
}
}
}
}Qui kunavo è la chiave del provider e claude-sonnet-5 è la chiave del modello. Pertanto la selezione è kunavo/claude-sonnet-5. Selezionando anthropic/claude-sonnet-5 scegli un provider diverso; selezionando Kunavo/Claude Sonnet 5 sostituisci le chiavi di ricerca con nomi visualizzati. Nessuno dei due fa riferimento alla voce mostrata sopra.
Quando usi /connect e Other per un provider personalizzato, inserisci lo stesso ID del provider. La credenziale non definisce da sola il catalogo dei modelli. Controlla anche l'adapter: l'adapter compatibile con v1 mostrato qui usa Chat Completions; un endpoint Responses richiede l'adapter appropriato.
3. Mantieni separate le configurazioni v1 e v2
La documentazione del provider v2 usa providers, package e settings, invece di provider, npm e options della v1. Usa la configurazione specifica per la versione invece di copiare senza modifiche il blocco precedente in una configurazione v2.
In v2, anche la chiave della mappa di un modello può differire da modelID upstream. Se la mappa contiene coder e invia upstream il modello upstream/coder-v2, scegli company/coder per il provider company. Cambiare la selezione con il nome upstream aggirerebbe l'alias configurato.
4. Controlla quale configurazione prevale
OpenCode unisce le fonti di configurazione. Un file di progetto può sovrascrivere il modello globale; possono inoltre influire percorsi personalizzati, configurazione inline e impostazioni gestite. Controlla il file del progetto in errore, la configurazione globale e gli eventuali override configurati. Verifica le allowlist dei provider o le voci dei provider disabilitati.
Apporta una sola modifica mirata, riavvia il processo interessato ed elenca nuovamente i modelli. Se il modello è ora disponibile ma la prima richiesta restituisce un errore HTTP, segui il nuovo errore. Conserva i file originali e i dati della sessione durante la diagnosi; eliminare l'intera directory dei dati può rimuovere credenziali e cronologia senza correggere un riferimento al modello errato.
Concludi con una piccola richiesta
Quando la selezione viene risolta, prova un breve prompt prima di un'attività sul repository. Verifica che lo riceva il provider previsto e che registri il modello atteso. Se continua a non funzionare, raccogli versione, configurazione sanificata, errore esatto ed estratto di log pertinente. Prima di condividere i log, controlla che non contengano chiavi o contenuti del progetto.
Per Kunavo, continua con la guida all'integrazione di OpenCode e controlla il tuo registro di utilizzo. La tariffa attuale Claude Sonnet 5 è di $1,40 per l'input e $7,00 per l'output per milione di token. Un confronto dei prezzi diventa utile dopo che il client seleziona il percorso previsto.
Domande frequenti
Che cosa significa ProviderModelNotFoundError in OpenCode?
OpenCode non riesce a risolvere la coppia provider/modello selezionata oppure l’adattatore del modello non riesce a risolvere quel modello. Verifica l’ID del provider caricato, la chiave del modello e la configurazione attiva prima di considerarlo un problema di saldo o di chiave API. Una risposta HTTP del provider, come 401, appartiene a un ramo diagnostico diverso.
Perché l’aggiunta della mia chiave API non ha aggiunto il modello personalizzato?
Una credenziale salvata e una definizione provider/modello hanno scopi diversi. Nel flusso dei provider personalizzati v1, l’ID del provider inserito tramite /connect deve corrispondere alla chiave di configurazione e il modello deve essere dichiarato nella mappa models di quel provider.
In opencode.json devo usare provider o providers?
Segui la documentazione della versione installata. La documentazione v1 usa provider con npm e options. La documentazione v2 usa providers con package e settings. Mescolare i due formati non è una migrazione affidabile; segui lo schema e la guida del provider corrispondenti.
Perché il modello funziona in un progetto ma non in un altro?
Le impostazioni del progetto possono sovrascrivere quelle globali, mentre anche la configurazione ambientale, inline o gestita può influire sul risultato. Controlla il modello selezionato e le impostazioni del provider dalla directory di lavoro del progetto che fallisce. Se un client desktop si connette a un server diverso, controlla anche la configurazione di quel server.
Documentazione ufficiale e sorgenti dei provider verificati il 17 settembre 2026. L'esempio spiega l'identità della configurazione; non è un benchmark end-to-end dell'attività.