Zackriya-Solutions/meetily · error · anyhow::Error
Retranscription requires Whisper. Current provider '{}' does
Error message
Retranscription requires Whisper. Current provider '{}' does not support retranscription with language selection. What it means
The transcript_settings row (id='1') has a provider that is neither 'localWhisper' nor 'whisper' - for example a cloud API provider or 'parakeet' - so there is no local Whisper model name to resolve for retranscription with language selection. This is a configuration gate: language-selected retranscription is local-Whisper-only by design.
Source
Thrown at frontend/src-tauri/src/audio/retranscription.rs:612
"SELECT provider, model FROM transcript_settings WHERE id = '1'"
)
.fetch_optional(app_state.db_manager.pool())
.await
.map_err(|e| {
error!("Failed to query transcript config: {}", e);
anyhow!("Failed to query transcript config: {}", e)
})?;
match result {
Some((provider, model)) => {
info!("Found transcript config: provider={}, model={}", provider, model);
// Check if provider is Whisper-based
if provider == "localWhisper" || provider == "whisper" {
Ok(model)
} else {
error!("Retranscription requires Whisper provider, but configured provider is: {}", provider);
Err(anyhow!("Retranscription requires Whisper. Current provider '{}' does not support retranscription with language selection.", provider))
}
},
None => {
// Default to configured Whisper model if no config exists
warn!("No transcript config found, using default model '{}'", DEFAULT_WHISPER_MODEL);
Ok(DEFAULT_WHISPER_MODEL.to_string())
}
}
}
/// Get or initialize the Parakeet engine, auto-loading the model if needed
async fn get_or_init_parakeet<R: Runtime>(
app: &AppHandle<R>,
requested_model: Option<&str>,
) -> Result<Arc<ParakeetEngine>> {
use crate::parakeet_engine::commands::PARAKEET_ENGINE;
let engine = {View on GitHub (pinned to 0281737d87)
Solutions
- Pass an explicit model (and provider='whisper') when invoking start_retranscription - the explicit model bypasses get_configured_whisper_model and its provider check.
- Or switch the transcription provider back to Local Whisper in Settings.
- Or use plain retranscription without language selection.
- If you believe the provider IS whisper-based, check the stored string in transcript_settings for typos/case (accepted values: 'localWhisper', 'whisper').
Example fix
// frontend: bypass the config-provider gate with explicit args
// before
await invoke('start_retranscription', { meetingId, meetingFolderPath, language: 'en' });
// after
await invoke('start_retranscription', {
meetingId,
meetingFolderPath,
language: 'en',
model: 'base',
provider: 'whisper',
}); Defensive patterns
Strategy: validation
Validate before calling
// Frontend: check provider compatibility before opening the language dialog
const settings = await invoke('get_transcript_settings');
const canRetranscribeWithLanguage =
settings.provider === 'localWhisper' || settings.provider === 'whisper';
if (!canRetranscribeWithLanguage) disableLanguageRetranscribeUI(); Try / catch
// Branch on the provider message and guide the user
if (String(err).includes('Retranscription requires Whisper')) {
showInfo('Switch the transcription provider to Local Whisper, or pass a model explicitly.');
} Prevention
- Gate the 'Retranscribe with language' UI on the configured provider being local Whisper.
- Pass explicit model and provider arguments for programmatic retranscription.
- Keep provider strings exactly 'localWhisper'/'whisper' in the settings row.
When it happens
Trigger: Calling retranscription with language=Some(...) and model=None while the app's configured transcription provider is a cloud API or Parakeet.
Common situations: User switched transcription provider to a cloud service in Settings, then later uses 'Retranscribe with language' which is local-only; provider string case or naming mismatch after a settings migration.
Related errors
- Failed to load Whisper model '{}': {}
- No audio samples decoded from file
- Whisper transcription failed on segment {}: {}
- Failed to load model '{}': {}
- Whisper engine not initialized
AI-assisted analysis of Zackriya-Solutions/meetily@0281737d87 (2026-08-16).
Data as JSON: /api/errors/78336ec37d7df113.
Report an issue: GitHub.