Skip to content

[Bug] Cannot enable "Google Drive" extension - space in name causes command parsing error #6549

@amandalau1

Description

@amandalau1

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

  1. Open Goose Desktop application
  2. Go to Settings → Extensions
  3. Try to enable "Google Drive" extension
  4. Click the toggle/enable button
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions