Hmbown/CodeWhale · error

warning: could not open the default browser ({error}); open

Error message

warning: could not open the default browser ({error}); open the bootstrap URL above manually

What it means

web_launcher_warning converts a failure from opening the user's default browser into a user-facing warning string; the runtime API server is already up and the bootstrap URL is printed, so the launch proceeds without automation. This is a graceful degradation, not an error state: xdg-open/open missing or no browser installed are the typical causes.

Source

Thrown at crates/tui/src/runtime_api.rs:985

            port = options.port,
            auth = auth_enabled,
        );
    }
    let serve_result = axum::serve(
        listener,
        app.into_make_service_with_connect_info::<SocketAddr>(),
    )
    .await
    .map_err(|e| anyhow!("Runtime API server error: {e}"));
    scheduler_cancel.cancel();
    scheduler_handle.abort();
    serve_result
}

fn web_launcher_warning(result: Result<()>) -> Option<String> {
    result.err().map(|error| {
        format!(
            "warning: could not open the default browser ({error}); open the bootstrap URL above manually"
        )
    })
}

fn fallback_sessions_dir() -> PathBuf {
    if let Some(home) = codewhale_paths::codewhale_home_override().ok().flatten() {
        return home.join("sessions");
    }
    codewhale_paths::legacy_deepseek_home()
        .unwrap_or_else(|| PathBuf::from(codewhale_paths::LEGACY_APP_DIR))
        .join("sessions")
}

pub fn build_router(state: RuntimeApiState) -> Router {
    let api_routes = Router::new()
        .route(
            "/v1/sessions",
            get(list_sessions)

View on GitHub (pinned to 0c42157ee5)

Solutions

  1. Copy the printed bootstrap URL into a browser manually when this warning appears
  2. Ensure a browser or xdg-open equivalent exists on headless/minimal systems
  3. No server action required; the API serves regardless of launcher outcome
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/tui/src/runtime_api.rs:985 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20). Data as JSON: /api/errors/8df2a67262b921f7. Report an issue: GitHub.