diff --git a/src/ui/sidebar/HostEditor.tsx b/src/ui/sidebar/HostEditor.tsx
index 30d30e24..f26d15a1 100644
--- a/src/ui/sidebar/HostEditor.tsx
+++ b/src/ui/sidebar/HostEditor.tsx
@@ -755,6 +755,28 @@ export function HostEditor({
onChange={(v) => setField("allowLegacyAlgorithms", v)}
/>
+
+ setField("sudoPasswordAutoFill", v)}
+ />
+
+ {form.sudoPasswordAutoFill && (
+
+
+
setField("sudoPassword", e.target.value)}
+ />
+
+ )}
>
diff --git a/src/ui/sidebar/HostEditorData.test.ts b/src/ui/sidebar/HostEditorData.test.ts
index 3ca95dfa..240168df 100644
--- a/src/ui/sidebar/HostEditorData.test.ts
+++ b/src/ui/sidebar/HostEditorData.test.ts
@@ -120,4 +120,18 @@ describe("buildHostEditorPayload auth field isolation", () => {
expect(tc?.agentSocketPath).toBeNull();
});
+
+ it("preserves sudo password autofill settings", () => {
+ const form = {
+ ...createHostEditorForm(null),
+ sudoPasswordAutoFill: true,
+ sudoPassword: "sudo-secret",
+ };
+
+ const payload = buildHostEditorPayload(form, sshOnly);
+ const tc = payload.terminalConfig as Record | null;
+
+ expect(tc?.sudoPasswordAutoFill).toBe(true);
+ expect(tc?.sudoPassword).toBe("sudo-secret");
+ });
});
diff --git a/src/ui/sidebar/HostEditorData.ts b/src/ui/sidebar/HostEditorData.ts
index 29049f4d..8e3510c4 100644
--- a/src/ui/sidebar/HostEditorData.ts
+++ b/src/ui/sidebar/HostEditorData.ts
@@ -407,7 +407,7 @@ export function buildHostEditorPayload(
agentForwarding: form.agentForwarding,
autoMosh: form.autoMosh,
autoTmux: form.autoTmux,
- sudoPasswordAutoFill: false,
+ sudoPasswordAutoFill: form.sudoPasswordAutoFill,
sudoPassword: form.sudoPassword || null,
keepaliveInterval: Number(form.keepaliveInterval),
keepaliveCountMax: Number(form.keepaliveCountMax),