diff --git a/crates/goose-server/src/routes/extension.rs b/crates/goose-server/src/routes/extension.rs index 1ab49234..c327ea2b 100644 --- a/crates/goose-server/src/routes/extension.rs +++ b/crates/goose-server/src/routes/extension.rs @@ -21,6 +21,7 @@ enum ExtensionConfigRequest { /// The URI endpoint for the SSE extension. uri: String, /// List of environment variable keys. The server will fetch their values from the keyring. + #[serde(default)] env_keys: Vec, }, /// Standard I/O (stdio) extension. @@ -31,8 +32,10 @@ enum ExtensionConfigRequest { /// The command to execute. cmd: String, /// Arguments for the command. + #[serde(default)] args: Vec, /// List of environment variable keys. The server will fetch their values from the keyring. + #[serde(default)] env_keys: Vec, }, /// Built-in extension that is part of the goose binary. diff --git a/ui/desktop/src/extensions.ts b/ui/desktop/src/extensions.ts index 16ca4a29..a73237b4 100644 --- a/ui/desktop/src/extensions.ts +++ b/ui/desktop/src/extensions.ts @@ -290,7 +290,7 @@ export async function addExtensionFromDeepLink(url: string, navigate: NavigateFu args, description, enabled: true, - env_keys: Object.keys(envs).length > 0 ? Object.keys(envs) : undefined, + env_keys: Object.keys(envs).length > 0 ? Object.keys(envs) : [], }; // Store the extension config regardless of env vars status