From e52cab3a72096f46ab03708e113e93aaff7a4bb2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 9 May 2026 16:40:59 +0000 Subject: [PATCH 1/2] Initial plan From dcdb26a8affecb9e04763267cd7b9789e6d78fd7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 9 May 2026 16:51:19 +0000 Subject: [PATCH 2/2] Fix shell escaping for GH_AW_MCP_CLI_SERVERS export Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- pkg/workflow/mcp_setup_generator.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/workflow/mcp_setup_generator.go b/pkg/workflow/mcp_setup_generator.go index da96a7dfc54..76c2cd012ba 100644 --- a/pkg/workflow/mcp_setup_generator.go +++ b/pkg/workflow/mcp_setup_generator.go @@ -607,8 +607,9 @@ func writeMCPGatewayExports(yaml *strings.Builder, tools map[string]any, engine if cliServers := getMCPCLIExcludeFromAgentConfig(workflowData); len(cliServers) > 0 { cliServersJSON, err := json.Marshal(cliServers) if err == nil { - yaml.WriteString(" export GH_AW_MCP_CLI_SERVERS='" + string(cliServersJSON) + "'\n") - yaml.WriteString(" echo 'GH_AW_MCP_CLI_SERVERS=" + string(cliServersJSON) + "' >> \"$GITHUB_ENV\"\n") + escapedCLIServersJSON := shellEscapeArg(string(cliServersJSON)) + yaml.WriteString(" export GH_AW_MCP_CLI_SERVERS=" + escapedCLIServersJSON + "\n") + yaml.WriteString(" echo GH_AW_MCP_CLI_SERVERS=" + escapedCLIServersJSON + " >> \"$GITHUB_ENV\"\n") } } if hasGitHub && getGitHubType(githubTool) == "remote" && engine.GetID() == "copilot" {