From d1089ed269841870c66f3d980ff85f16c67df709 Mon Sep 17 00:00:00 2001
From: saime428 <51110572+saime428@users.noreply.github.com>
Date: Mon, 10 Aug 2026 00:16:28 -1000
Subject: [PATCH] fix(ui): support remote working directory for external
backend (#10827)
Co-authored-by: saixin
---
.../settings/app/ExternalBackendSection.tsx | 31 +++++++++++++++++++
ui/desktop/src/i18n/messages/de.json | 9 ++++++
ui/desktop/src/i18n/messages/en.json | 9 ++++++
ui/desktop/src/i18n/messages/es.json | 9 ++++++
ui/desktop/src/i18n/messages/fr.json | 9 ++++++
ui/desktop/src/i18n/messages/hi.json | 9 ++++++
ui/desktop/src/i18n/messages/id.json | 9 ++++++
ui/desktop/src/i18n/messages/it.json | 9 ++++++
ui/desktop/src/i18n/messages/ja.json | 9 ++++++
ui/desktop/src/i18n/messages/ko.json | 9 ++++++
ui/desktop/src/i18n/messages/ms.json | 9 ++++++
ui/desktop/src/i18n/messages/pt.json | 9 ++++++
ui/desktop/src/i18n/messages/ru.json | 9 ++++++
ui/desktop/src/i18n/messages/tr.json | 9 ++++++
ui/desktop/src/i18n/messages/vi.json | 9 ++++++
ui/desktop/src/i18n/messages/zh-CN.json | 9 ++++++
ui/desktop/src/i18n/messages/zh-TW.json | 9 ++++++
ui/desktop/src/main.ts | 22 +++++++++++--
.../src/utils/__tests__/workingDir.test.ts | 12 +++++++
ui/desktop/src/utils/settings.ts | 1 +
ui/desktop/src/utils/workingDir.ts | 6 ++++
21 files changed, 213 insertions(+), 3 deletions(-)
create mode 100644 ui/desktop/src/utils/__tests__/workingDir.test.ts
diff --git a/ui/desktop/src/components/settings/app/ExternalBackendSection.tsx b/ui/desktop/src/components/settings/app/ExternalBackendSection.tsx
index 7552d5861..ea4f3d932 100644
--- a/ui/desktop/src/components/settings/app/ExternalBackendSection.tsx
+++ b/ui/desktop/src/components/settings/app/ExternalBackendSection.tsx
@@ -34,6 +34,19 @@ const i18n = defineMessages({
defaultMessage:
'Enter the HTTP(S) base URL. Goose checks /status and connects to /acp under this base.',
},
+ workingDir: {
+ id: 'externalBackendSection.workingDir',
+ defaultMessage: 'Remote Working Directory (optional)',
+ },
+ workingDirPlaceholder: {
+ id: 'externalBackendSection.workingDirPlaceholder',
+ defaultMessage: '/home/goose/workspace',
+ },
+ workingDirHelp: {
+ id: 'externalBackendSection.workingDirHelp',
+ defaultMessage:
+ 'Absolute path on the external backend. Leave blank to send the local working directory.',
+ },
secretKey: {
id: 'externalBackendSection.secretKey',
defaultMessage: 'Secret Key',
@@ -222,6 +235,24 @@ export default function ExternalBackendSection() {
+
+
+
updateField('workingDir', e.target.value)}
+ onBlur={() => saveConfig(config)}
+ disabled={isSaving}
+ />
+
+ {intl.formatMessage(i18n.workingDirHelp)}
+
+
+