{"record":{"id":"59a8bcfc8fdd1271","repo":"Hmbown/CodeWhale","slug":"failed-to-open-browser-automatically-err","errorCode":null,"errorMessage":"Failed to open browser automatically: {err}","messagePattern":"Failed to open browser automatically: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/tui/src/tui/ui/apply.rs","lineNumber":1647,"sourceCode":"                            });\n                            app.status_message = Some(outcome.final_message);\n                        }\n                        Err(err) => {\n                            app.add_message(HistoryCell::System {\n                                content: format!(\"Config UI failed: {err}\"),\n                            });\n                        }\n                    }\n                }\n                ConfigUiMode::Web => {\n                    #[cfg(feature = \"web\")]\n                    {\n                        let session = config_ui::start_web_editor(app, config).await?;\n                        let url = format!(\"http://{}\", session.addr);\n                        let open_err = config_ui::open_browser(&url).err();\n                        if let Some(err) = open_err {\n                            app.add_message(HistoryCell::System {\n                                content: format!(\"Failed to open browser automatically: {err}\"),\n                            });\n                        }\n                        app.status_message = Some(format!(\"web ui listen on: {url}\"));\n                        *web_config_session = Some(session);\n                    }\n                    #[cfg(not(feature = \"web\"))]\n                    {\n                        app.add_message(HistoryCell::System {\n                            content: \"This build does not include the web config UI.\".to_string(),\n                        });\n                    }\n                }\n            },\n            AppAction::OpenConfigView => {\n                if app.view_stack.top_kind() != Some(ModalKind::Config) {\n                    app.view_stack.push(ConfigView::new_for_app(app));\n                }\n            }","sourceCodeStart":1629,"sourceCodeEnd":1665,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/tui/ui/apply.rs#L1629-L1665","documentation":"When ConfigUiMode::Web starts the browser-based config editor and automatic browser launch fails, a System message with this text is added to the transcript. The web editor itself is running; only the convenience launch failed, so the user is told to open the printed URL themselves — a UI-level degradation, not a config-editor failure.","triggerScenarios":"Thrown at crates/tui/src/tui/ui/apply.rs:1647 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Open the config UI URL shown in the transcript manually","Install or fix the default-browser handler (xdg-open/open) if auto-launch is wanted","Ignore if you only need the server; the editor remains reachable at the URL"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}