tinyhumansai/openhuman · error
[voice-install:piper] auto-install on voice change failed:
Error message
[voice-install:piper] auto-install on voice change failed:
What it means
The automatic Piper TTS voice installation triggered by selecting a preset voice failed. When the user picks a Piper preset voice that is not yet installed, the panel kicks off an auto-install; this warn records that the install flow errored, leaving the selected voice configured but unavailable — synthesis with that voice will fail until a manual install succeeds.
Source
Thrown at app/src/components/settings/panels/VoicePanel.tsx:1074
<label className="block space-y-1">
<span className="text-xs font-medium text-content-muted dark:text-content-secondary">
{t('voice.providers.piperVoice')}
</span>
<SettingsSelect
aria-label={t('voice.providers.piperVoiceAria')}
data-testid="tts-voice-select"
value={
PIPER_VOICE_PRESET_IDS.some(v => v === ttsVoice) ? ttsVoice : '__custom__'
}
disabled={isSavingProviders}
onChange={e => {
const next = e.target.value;
if (next === '__custom__') return;
setTtsVoice(next);
void persistProviders({ tts_voice: next });
void installPiper({ voiceId: next }).catch(err =>
console.warn(
'[voice-install:piper] auto-install on voice change failed:',
err
)
);
}}
className="w-full">
{piperVoicePresets.map(v => (
<option key={v.id} value={v.id}>
{v.label}
</option>
))}
<option value="__custom__">{t('voice.providers.customVoiceOption')}</option>
</SettingsSelect>
{!PIPER_VOICE_PRESET_IDS.some(v => v === ttsVoice) && (
<SettingsTextField
aria-label={t('voice.providers.customVoiceAria')}
data-testid="tts-voice-input"
value={ttsVoice}
placeholder={t('voice.providers.customVoicePlaceholder')}View on GitHub (pinned to 7491200858)
Solutions
- Check the warned error for the install failure reason (download failure, checksum mismatch, disk space)
- Retry via the panel's explicit install/repair action for the voice rather than re-selecting the preset
- Verify network access to the voice artifact host and available disk space in the workspace
- After a successful install, re-select the preset to confirm it resolves to the installed voice
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at app/src/components/settings/panels/VoicePanel.tsx:1074 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/98bc01454863e418.
Report an issue: GitHub.