-
Notifications
You must be signed in to change notification settings - Fork 2.5k
don't add escaping to the command field #6519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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
quotefromshell-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, |
Copilot
AI
Jan 15, 2026
There was a problem hiding this comment.
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.
* '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) ...
Removes the escaping from the "command" field in MCP extension list.
fixes #6500