From 3314f01c56505e3f9d3f1353d81488bd955862b7 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 26 Mar 2026 16:24:49 +0000
Subject: [PATCH 1/4] Initial plan
From 9c9ced2ec1831d52bf1b8f6bcee3e4a19fdcae8d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 26 Mar 2026 16:28:57 +0000
Subject: [PATCH 2/4] initial plan
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/76f2aec7-97d6-44f5-ae59-28f4697d7faf
Co-authored-by: dsyme <7204669+dsyme@users.noreply.github.com>
---
.../daily-multi-device-docs-tester.lock.yml | 42 ++++++++--------
.github/workflows/unbloat-docs.lock.yml | 50 +++++++++----------
2 files changed, 46 insertions(+), 46 deletions(-)
diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml
index 18a5d196ac8..0e6f795d99c 100644
--- a/.github/workflows/daily-multi-device-docs-tester.lock.yml
+++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml
@@ -27,7 +27,7 @@
# - shared/docs-server-lifecycle.md
# - shared/reporting.md
#
-# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"f5a4802459021b8361db58fb67d33ae472aaffe53fceda01e56ad10d735f2c27","strict":true,"agent_id":"claude"}
+# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"6747fad76bb2d4f0fe944fc4d92885fc495ec8c1ce60b1e268fd169ac9268de7","strict":true,"agent_id":"claude"}
name: "Multi-Device Docs Tester"
"on":
@@ -143,15 +143,15 @@ jobs:
run: |
bash ${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh
{
- cat << 'GH_AW_PROMPT_55a476ca092f3fd9_EOF'
+ cat << 'GH_AW_PROMPT_c81a109c621158fb_EOF'
- GH_AW_PROMPT_55a476ca092f3fd9_EOF
+ GH_AW_PROMPT_c81a109c621158fb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_55a476ca092f3fd9_EOF'
+ cat << 'GH_AW_PROMPT_c81a109c621158fb_EOF'
Tools: create_issue, upload_asset, missing_tool, missing_data, noop
@@ -185,20 +185,20 @@ jobs:
{{/if}}
- GH_AW_PROMPT_55a476ca092f3fd9_EOF
+ GH_AW_PROMPT_c81a109c621158fb_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_55a476ca092f3fd9_EOF'
+ cat << 'GH_AW_PROMPT_c81a109c621158fb_EOF'
- GH_AW_PROMPT_55a476ca092f3fd9_EOF
- cat << 'GH_AW_PROMPT_55a476ca092f3fd9_EOF'
+ GH_AW_PROMPT_c81a109c621158fb_EOF
+ cat << 'GH_AW_PROMPT_c81a109c621158fb_EOF'
{{#runtime-import .github/workflows/shared/docs-server-lifecycle.md}}
- GH_AW_PROMPT_55a476ca092f3fd9_EOF
- cat << 'GH_AW_PROMPT_55a476ca092f3fd9_EOF'
+ GH_AW_PROMPT_c81a109c621158fb_EOF
+ cat << 'GH_AW_PROMPT_c81a109c621158fb_EOF'
{{#runtime-import .github/workflows/shared/reporting.md}}
- GH_AW_PROMPT_55a476ca092f3fd9_EOF
- cat << 'GH_AW_PROMPT_55a476ca092f3fd9_EOF'
+ GH_AW_PROMPT_c81a109c621158fb_EOF
+ cat << 'GH_AW_PROMPT_c81a109c621158fb_EOF'
{{#runtime-import .github/workflows/daily-multi-device-docs-tester.md}}
- GH_AW_PROMPT_55a476ca092f3fd9_EOF
+ GH_AW_PROMPT_c81a109c621158fb_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
@@ -372,12 +372,12 @@ jobs:
mkdir -p ${RUNNER_TEMP}/gh-aw/safeoutputs
mkdir -p /tmp/gh-aw/safeoutputs
mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
- cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_8a777334cac793e2_EOF'
+ cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_c93bece35bcc7ae1_EOF'
{"create_issue":{"expires":48,"labels":["cookie"],"max":1},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"true"},"upload_asset":{"allowed-exts":[".png",".jpg",".jpeg"],"branch":"assets/${{ github.workflow }}","max-size":10240}}
- GH_AW_SAFE_OUTPUTS_CONFIG_8a777334cac793e2_EOF
+ GH_AW_SAFE_OUTPUTS_CONFIG_c93bece35bcc7ae1_EOF
- name: Write Safe Outputs Tools
run: |
- cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/tools_meta.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_META_a4806cbf9d506369_EOF'
+ cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/tools_meta.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_META_d2eba1dc753a725e_EOF'
{
"description_suffixes": {
"create_issue": " CONSTRAINTS: Maximum 1 issue(s) can be created. Labels [\"cookie\"] will be automatically added.",
@@ -386,8 +386,8 @@ jobs:
"repo_params": {},
"dynamic_tools": []
}
- GH_AW_SAFE_OUTPUTS_TOOLS_META_a4806cbf9d506369_EOF
- cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/validation.json << 'GH_AW_SAFE_OUTPUTS_VALIDATION_310b49412733c666_EOF'
+ GH_AW_SAFE_OUTPUTS_TOOLS_META_d2eba1dc753a725e_EOF
+ cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/validation.json << 'GH_AW_SAFE_OUTPUTS_VALIDATION_03255beea463aa05_EOF'
{
"create_issue": {
"defaultMax": 1,
@@ -489,7 +489,7 @@ jobs:
}
}
}
- GH_AW_SAFE_OUTPUTS_VALIDATION_310b49412733c666_EOF
+ GH_AW_SAFE_OUTPUTS_VALIDATION_03255beea463aa05_EOF
node ${RUNNER_TEMP}/gh-aw/actions/generate_safe_outputs_tools.cjs
- name: Generate Safe Outputs MCP Server Config
id: safe-outputs-config
@@ -560,7 +560,7 @@ jobs:
export GH_AW_ENGINE="claude"
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.2.6'
- cat << GH_AW_MCP_CONFIG_47aa03a5c9473b5a_EOF | bash ${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.sh
+ cat << GH_AW_MCP_CONFIG_6f62c6e537c76192_EOF | bash ${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.sh
{
"mcpServers": {
"github": {
@@ -624,7 +624,7 @@ jobs:
"payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}"
}
}
- GH_AW_MCP_CONFIG_47aa03a5c9473b5a_EOF
+ GH_AW_MCP_CONFIG_6f62c6e537c76192_EOF
- name: Download activation artifact
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml
index 39009e85ae9..4a01f4fa7be 100644
--- a/.github/workflows/unbloat-docs.lock.yml
+++ b/.github/workflows/unbloat-docs.lock.yml
@@ -28,7 +28,7 @@
# - shared/mcp/qmd-docs.md
# - shared/reporting.md
#
-# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"618b829bbc7f47e9574ed3e1557438fae0bfc6ca453edab14981b726236131ba","strict":true,"agent_id":"claude"}
+# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"1d5cfd4f91bd8fcf04b0386757779cc674a35eb53bac2a45273366b85d389beb","strict":true,"agent_id":"claude"}
name: "Documentation Unbloat"
"on":
@@ -187,9 +187,9 @@ jobs:
run: |
bash ${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh
{
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
- GH_AW_PROMPT_3d06355205885e9a_EOF
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
@@ -197,12 +197,12 @@ jobs:
cat "${RUNNER_TEMP}/gh-aw/prompts/qmd_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
Tools: add_comment, create_pull_request, upload_asset, missing_tool, missing_data, noop
- GH_AW_PROMPT_3d06355205885e9a_EOF
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md"
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
upload_asset: provide a file path; returns a URL; assets are published after the workflow completes (safeoutputs).
@@ -234,23 +234,23 @@ jobs:
{{/if}}
- GH_AW_PROMPT_3d06355205885e9a_EOF
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
- GH_AW_PROMPT_3d06355205885e9a_EOF
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
{{#runtime-import .github/workflows/shared/reporting.md}}
- GH_AW_PROMPT_3d06355205885e9a_EOF
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
{{#runtime-import .github/workflows/shared/docs-server-lifecycle.md}}
- GH_AW_PROMPT_3d06355205885e9a_EOF
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
{{#runtime-import .github/workflows/shared/mcp/qmd-docs.md}}
- GH_AW_PROMPT_3d06355205885e9a_EOF
- cat << 'GH_AW_PROMPT_3d06355205885e9a_EOF'
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
+ cat << 'GH_AW_PROMPT_2d537e0f4ae05d79_EOF'
{{#runtime-import .github/workflows/unbloat-docs.md}}
- GH_AW_PROMPT_3d06355205885e9a_EOF
+ GH_AW_PROMPT_2d537e0f4ae05d79_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
@@ -466,12 +466,12 @@ jobs:
mkdir -p ${RUNNER_TEMP}/gh-aw/safeoutputs
mkdir -p /tmp/gh-aw/safeoutputs
mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
- cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_8c6de75ca9d63c58_EOF'
+ cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_815bd590907de7b8_EOF'
{"add_comment":{"max":1},"create_pull_request":{"auto_merge":true,"draft":true,"expires":48,"fallback_as_issue":false,"labels":["documentation","automation"],"max":1,"max_patch_size":1024,"protected_files":["package.json","bun.lockb","bunfig.toml","deno.json","deno.jsonc","deno.lock","global.json","NuGet.Config","Directory.Packages.props","mix.exs","mix.lock","go.mod","go.sum","stack.yaml","stack.yaml.lock","pom.xml","build.gradle","build.gradle.kts","settings.gradle","settings.gradle.kts","gradle.properties","package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","requirements.txt","Pipfile","Pipfile.lock","pyproject.toml","setup.py","setup.cfg","Gemfile","Gemfile.lock","uv.lock","CODEOWNERS"],"protected_path_prefixes":[".github/",".agents/"],"reviewers":["copilot"],"title_prefix":"[docs] "},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"true"},"upload_asset":{"allowed-exts":[".png",".jpg",".jpeg"],"branch":"assets/${{ github.workflow }}","max-size":10240}}
- GH_AW_SAFE_OUTPUTS_CONFIG_8c6de75ca9d63c58_EOF
+ GH_AW_SAFE_OUTPUTS_CONFIG_815bd590907de7b8_EOF
- name: Write Safe Outputs Tools
run: |
- cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/tools_meta.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_META_2bd18671c86f4c47_EOF'
+ cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/tools_meta.json << 'GH_AW_SAFE_OUTPUTS_TOOLS_META_6882e4174d89c62c_EOF'
{
"description_suffixes": {
"add_comment": " CONSTRAINTS: Maximum 1 comment(s) can be added.",
@@ -481,8 +481,8 @@ jobs:
"repo_params": {},
"dynamic_tools": []
}
- GH_AW_SAFE_OUTPUTS_TOOLS_META_2bd18671c86f4c47_EOF
- cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/validation.json << 'GH_AW_SAFE_OUTPUTS_VALIDATION_b9c0a140e277dd38_EOF'
+ GH_AW_SAFE_OUTPUTS_TOOLS_META_6882e4174d89c62c_EOF
+ cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/validation.json << 'GH_AW_SAFE_OUTPUTS_VALIDATION_7e6df8d287392c6f_EOF'
{
"add_comment": {
"defaultMax": 1,
@@ -605,7 +605,7 @@ jobs:
}
}
}
- GH_AW_SAFE_OUTPUTS_VALIDATION_b9c0a140e277dd38_EOF
+ GH_AW_SAFE_OUTPUTS_VALIDATION_7e6df8d287392c6f_EOF
node ${RUNNER_TEMP}/gh-aw/actions/generate_safe_outputs_tools.cjs
- name: Generate Safe Outputs MCP Server Config
id: safe-outputs-config
@@ -710,7 +710,7 @@ jobs:
export GH_AW_ENGINE="claude"
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.2.6'
- cat << GH_AW_MCP_CONFIG_c8fb4c5e383447e3_EOF | bash ${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.sh
+ cat << GH_AW_MCP_CONFIG_249bb59b60f3bd35_EOF | bash ${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.sh
{
"mcpServers": {
"github": {
@@ -787,7 +787,7 @@ jobs:
"payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}"
}
}
- GH_AW_MCP_CONFIG_c8fb4c5e383447e3_EOF
+ GH_AW_MCP_CONFIG_249bb59b60f3bd35_EOF
- name: Download activation artifact
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
From 8dc6b6fc3501389df52c6307957cb28b62eee20d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 26 Mar 2026 16:36:03 +0000
Subject: [PATCH 3/4] fix: remove unsupported cwd from mcp.json configuration
The `cwd` field in `.vscode/mcp.json` is not supported by Copilot CLI
and caused `gh aw mcp-server` to fail with a "spawn gh ENOENT" error.
- Remove CWD field from VSCodeMCPServer struct
- Remove cwd from generated mcp.json config
- Update tests to reflect struct change
- Remove cwd from documentation example
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/76f2aec7-97d6-44f5-ae59-28f4697d7faf
Co-authored-by: dsyme <7204669+dsyme@users.noreply.github.com>
---
docs/src/content/docs/reference/gh-aw-as-mcp-server.md | 3 +--
pkg/cli/mcp_config_file.go | 2 --
pkg/cli/mcp_config_file_test.go | 9 ---------
3 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/docs/src/content/docs/reference/gh-aw-as-mcp-server.md b/docs/src/content/docs/reference/gh-aw-as-mcp-server.md
index f51b5b06ca3..5699746d041 100644
--- a/docs/src/content/docs/reference/gh-aw-as-mcp-server.md
+++ b/docs/src/content/docs/reference/gh-aw-as-mcp-server.md
@@ -75,8 +75,7 @@ Alternatively, create `.vscode/mcp.json` manually:
"servers": {
"github-agentic-workflows": {
"command": "gh",
- "args": ["aw", "mcp-server"],
- "cwd": "${workspaceFolder}"
+ "args": ["aw", "mcp-server"]
}
}
}
diff --git a/pkg/cli/mcp_config_file.go b/pkg/cli/mcp_config_file.go
index 5d652fbef85..c5c0fbf8c07 100644
--- a/pkg/cli/mcp_config_file.go
+++ b/pkg/cli/mcp_config_file.go
@@ -15,7 +15,6 @@ var mcpConfigLog = logger.New("cli:mcp_config_file")
type VSCodeMCPServer struct {
Command string `json:"command"`
Args []string `json:"args"`
- CWD string `json:"cwd,omitempty"`
}
// MCPConfig represents the structure of mcp.json
@@ -42,7 +41,6 @@ func ensureMCPConfig(verbose bool) error {
ghAwConfig := VSCodeMCPServer{
Command: "gh",
Args: []string{"aw", "mcp-server"},
- CWD: "${workspaceFolder}",
}
// Check if file already exists
diff --git a/pkg/cli/mcp_config_file_test.go b/pkg/cli/mcp_config_file_test.go
index 220f11a4c59..f81a11a1a5d 100644
--- a/pkg/cli/mcp_config_file_test.go
+++ b/pkg/cli/mcp_config_file_test.go
@@ -37,9 +37,6 @@ func TestEnsureMCPConfig(t *testing.T) {
if len(server.Args) != 2 || server.Args[0] != "aw" || server.Args[1] != "mcp-server" {
t.Errorf("Expected args ['aw', 'mcp-server'], got %v", server.Args)
}
- if server.CWD != "${workspaceFolder}" {
- t.Errorf("Expected CWD '${workspaceFolder}', got %q", server.CWD)
- }
},
},
{
@@ -75,7 +72,6 @@ func TestEnsureMCPConfig(t *testing.T) {
"github-agentic-workflows": {
Command: "gh",
Args: []string{"aw", "mcp-server"},
- CWD: "${workspaceFolder}",
},
},
},
@@ -268,7 +264,6 @@ func TestMCPConfigJSONMarshaling(t *testing.T) {
"github-agentic-workflows": {
Command: "gh",
Args: []string{"aw", "mcp-server"},
- CWD: "${workspaceFolder}",
},
},
}
@@ -302,10 +297,6 @@ func TestMCPConfigJSONMarshaling(t *testing.T) {
if len(server.Args) != 2 {
t.Errorf("Expected 2 args, got %d", len(server.Args))
}
-
- if server.CWD != "${workspaceFolder}" {
- t.Errorf("Expected CWD '${workspaceFolder}', got %q", server.CWD)
- }
}
func TestEnsureMCPConfigDirectoryCreation(t *testing.T) {
From 097aac25463353ccd064f3ba70d713b34168cdd2 Mon Sep 17 00:00:00 2001
From: Don Syme
Date: Thu, 26 Mar 2026 17:23:53 +0000
Subject: [PATCH 4/4] Update pkg/cli/mcp_config_file.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
pkg/cli/mcp_config_file.go | 1 +
1 file changed, 1 insertion(+)
diff --git a/pkg/cli/mcp_config_file.go b/pkg/cli/mcp_config_file.go
index c5c0fbf8c07..c38484be5e9 100644
--- a/pkg/cli/mcp_config_file.go
+++ b/pkg/cli/mcp_config_file.go
@@ -15,6 +15,7 @@ var mcpConfigLog = logger.New("cli:mcp_config_file")
type VSCodeMCPServer struct {
Command string `json:"command"`
Args []string `json:"args"`
+ CWD string `json:"cwd,omitempty"`
}
// MCPConfig represents the structure of mcp.json