cjpais/Handy · error
Failed to initialize transcription manager
Error message
Failed to initialize transcription manager
What it means
Error "Failed to initialize transcription manager" thrown in cjpais/Handy.
Source
Thrown at src-tauri/src/lib.rs:861
.manage(cli_args.clone())
.setup(move |app| {
specta_builder.mount_events(app);
// Headless one-shot path (`--transcribe-file` / `--list-devices` /
// `--list-models`): initialize only what transcription needs — the
// store/paths plugins, the model + transcription managers, and the
// transcribe-cpp backend + accelerator settings — then run on a worker
// thread and exit. Deliberately skips the window, tray, overlay, audio
// recorder (so it never opens the mic, even with always_on_microphone),
// signal handlers, and autostart that initialize_core_logic sets up.
if headless_mode {
let app_handle = app.handle().clone();
let model_manager = Arc::new(
ModelManager::new(&app_handle).expect("Failed to initialize model manager"),
);
let transcription_manager = Arc::new(
TranscriptionManager::new(&app_handle, model_manager.clone())
.expect("Failed to initialize transcription manager"),
);
app_handle.manage(model_manager);
app_handle.manage(transcription_manager);
managers::transcription::init_transcribe_backend();
managers::transcription::apply_accelerator_settings(&app_handle);
let handle = app_handle.clone();
let args = cli_args.clone();
std::thread::spawn(move || {
let code = run_headless_guarded(|| run_headless_transcription(&handle, &args));
// Drop the loaded engine before teardown: ggml-metal's global
// device free asserts (SIGABRT) if a model's Metal resources
// are still alive at C++ static-destructor time.
if let Some(tm) = handle.try_state::<Arc<TranscriptionManager>>() {
let _ = tm.unload_model();
}
// process::exit (not app.exit, which exits 0 regardless) so the
// exit code propagates to the shell for CI gating. Flush firstView on GitHub (pinned to 98a4d80cce)
When it happens
Trigger: Thrown at src-tauri/src/lib.rs:861 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of cjpais/Handy@98a4d80cce (2026-08-16).
Data as JSON: /api/errors/0b637dc1c5627e65.
Report an issue: GitHub.