-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Bug Description
The Google Drive extension cannot be enabled through the Settings UI or the manage_extensions tool because the display name "Google Drive" (with a space) is being used as a command-line argument, causing a parsing error.
Error Message
Failed to add extension: process quit before initialization: stderr = error: invalid value 'Google Drive' for '': Invalid command: Google Drive
For more information, try '--help'.
Steps to Reproduce
- Open Goose Desktop application
- Go to Settings → Extensions
- Try to enable "Google Drive" extension
- Click the toggle/enable button
- Error appears: "Failed to add extension"
Alternative reproduction:
- Use the manage_extensions tool with extension_name: "Google Drive"
- Same error occurs
Root Cause
- The extension is configured in config.yaml with the key googledrive (no space), but the Settings UI and extension manager are attempting to use the display name "Google Drive" (with space) as a command-line argument:
Config file (~/.config/goose/config.yaml):
googledrive:
enabled: false
type: builtin
name: Google Drive # ← Display name with space
description: ''
display_name: null
timeout: 300
bundled: true
What happens:
- UI/tool tries to execute: command Google Drive
- Shell interprets as: command Google Drive (two separate arguments)
- Error: "invalid value 'Google Drive' for ''"
Expected Behavior
The extension should be enabled successfully when clicked in the Settings UI or when using the manage_extensions tool.
Actual Behavior
The extension fails to enable with a command-line parsing error because the space in "Google Drive" is not properly quoted/escaped.
Workaround
Manually edit ~/.config/goose/config.yaml and change:
googledrive:
enabled: false
to:
googledrive:
enabled: true
Then restart Goose Desktop.
Suggested Fix
The Settings UI and manage_extensions tool should use the config key (googledrive) instead of the display name (Google Drive) when enabling/disabling extensions.
Possible solutions:
- Use the config key for all internal operations (recommended)
- Properly quote/escape display names that contain spaces
- Normalize extension names by removing spaces (e.g., "Google Drive" → "googledrive")
Environment
- Goose Version: [Your version - check in Settings → About]
- OS: macOS [Your version]
- Installation Method: Desktop application
Additional Context
This appears to be a broader issue that could affect any extension with spaces in its display name. The extensionmanager tool's manage_extensions function has the same bug - it uses the display name instead of the config key.
Related code locations:
- Extension configuration: ~/.config/goose/config.yaml
- Extension manager: Uses display name "Google Drive" instead of key "googledrive"
- Settings UI: Same issue
Impact
- Severity: Medium - Extension cannot be enabled through normal UI
- Workaround exists: Yes (manual config edit)
- Affects: All users trying to enable Google Drive extension
- Potential scope: Any extension with spaces in display name