From a9a3bbc5f4929851a2a5bb0131dfbca03092e8e4 Mon Sep 17 00:00:00 2001 From: LukeGus Date: Sun, 20 Sep 2026 19:06:57 -0500 Subject: [PATCH] fix: sudo password not autofilling (#1248) https://github.com/Termix-SSH/Support/issues/1248 --- src/ui/features/terminal/Terminal.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ui/features/terminal/Terminal.tsx b/src/ui/features/terminal/Terminal.tsx index 432fa2c90..3df6e614b 100644 --- a/src/ui/features/terminal/Terminal.tsx +++ b/src/ui/features/terminal/Terminal.tsx @@ -1197,6 +1197,14 @@ const TerminalInner = forwardRef( /(?:\[sudo\][^\n\r]*:\s*$|sudo:[^\n\r]*password[^\n\r]*required|password for [^\n\r]*:\s*$|Password:\s*$|password:\s*$)/im; if (!passwordPromptPattern.test(buffered)) return; + const isSudoPrompt = /(?:\[sudo\]|sudo:)/i.test(buffered); + + // Sudo autofill is opt-in: the saved sudo password must not be sent + // to a privilege-escalation prompt unless the host explicitly enables it. + if (isSudoPrompt && !hostConfig.terminalConfig?.sudoPasswordAutoFill) { + return; + } + const hasStoredPassword = hostConfig.terminalConfig?.sudoPassword || hostConfig.password || @@ -1206,7 +1214,6 @@ const TerminalInner = forwardRef( passwordPromptShownRef.current = true; passwordPromptBufferRef.current = ""; - const isSudoPrompt = /(?:\[sudo\]|sudo:)/i.test(buffered); confirmWithToast( t("terminal.passwordPromptFillTitle"),