Skip to content

Conversation

@jamadeo
Copy link
Collaborator

@jamadeo jamadeo commented Jan 15, 2026

Removes the escaping from the "command" field in MCP extension list.

fixes #6500

Copilot AI review requested due to automatic review settings January 15, 2026 20:24
@jamadeo jamadeo changed the title Don't quote don't add escaping to the command field Jan 15, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the quote function usage from shell-quote in the ExtensionList component, replacing it with a simple .join(' ') operation to display extension commands. The goal appears to be reducing dependency on the shell-quote library.

Changes:

  • Removed import of quote from shell-quote
  • Changed command display logic from quote([config.cmd, ...config.args]) to [config.cmd, ...config.args].join(' ')

return {
description: config.description || null,
command: 'cmd' in config ? quote([config.cmd, ...config.args]) : null,
command: 'cmd' in config ? [config.cmd, ...config.args].join(' ') : null,
Copy link

Copilot AI Jan 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simple space joining will incorrectly display commands with arguments containing spaces or special characters. For example, if args contain "value with spaces", it will display as ambiguous "cmd value with spaces" instead of properly showing "cmd 'value with spaces'". While this is only for display purposes (not execution), it makes it unclear to users what the actual command structure is. Consider keeping shell-quote for proper visual formatting, or implement proper escaping/quoting logic to handle arguments with spaces and special characters.

Copilot uses AI. Check for mistakes.
@jamadeo jamadeo merged commit b1a53f3 into main Jan 15, 2026
25 checks passed
@jamadeo jamadeo deleted the dont-quote branch January 15, 2026 20:50
lifeizhou-ap added a commit that referenced this pull request Jan 15, 2026
* main:
  don't add escaping to the command field (#6519)
  Fix popular topics not starting chat when clicked (#6508)
  fix[desktop]: deeplink ui repeat on refresh (#6469)
  fixed test compilation on main branch (#6512)
  fix: correctly parse extension name from tool call for MCP apps (#6482)
jamadeo added a commit that referenced this pull request Jan 16, 2026
zanesq added a commit that referenced this pull request Jan 16, 2026
* 'main' of github.com:block/goose: (28 commits)
  chore(deps): bump aiohttp from 3.13.0 to 3.13.3 in /scripts/provider-error-proxy (#6539)
  chore(deps): bump brotli from 1.1.0 to 1.2.0 in /scripts/provider-error-proxy (#6538)
  docs: temp correction for agent directory (#6544)
  chore: upgrade rmcp (#6516)
  docs: clarify directory in /documentation readme (#6541)
  Release 1.20.0
  Standalone mcp apps (#6458)
  don't add escaping to the command field (#6519)
  Fix popular topics not starting chat when clicked (#6508)
  fix[desktop]: deeplink ui repeat on refresh (#6469)
  fixed test compilation on main branch (#6512)
  fix: correctly parse extension name from tool call for MCP apps (#6482)
  fixed 0 token in openrouter steaming (#6493)
  feat(goose-acp): enable parallel sessions with isolated agent state (#6392)
  copilot instruction to flag prelease docs (#6504)
  docs: acp mcp support (#6491)
  feat: add flatpak support for linux (#6387)
  fix(code_execution): serialize record_result output as JSON (#6495)
  perf(google): avoid accumulating thoughtSignatures across conversation history (#6462)
  fix(openai): make tool_call arguments optional and fix silent stream termination (#6309)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1.20.0 release branch: extensions have backslashes escaping characters in command field

3 participants