Skip to content

Unable to obtain empty file from git repo via MCP #2041

Description

@kubajanusz

Describe the bug

get_file_contents tool fails when you try to obtain file which is empty (0 bytes)

Affected version

Latest and GitHub managed MCP server

Steps to reproduce the behavior

Example repo: https://github.com/kubajanusz/mcp-404-and-tag-errors-example

  1. Prompt: Run #get_file_contents to obtain file README.md from main branch
  2. File is obtained
  3. See error
Cannot read properties of undefined (reading 'length') (at tsx element Lx > sV > $Ne > Get > Xs > <anonymous> > <anonymous> > Wrt > zet > Zet > Uh > Ket > Sde > YD)
Image

Expected vs actual behavior

Information that file is empty is handled and passed back to VS Code

Logs

2026-02-18 17:06:57.546 [info] ccreq:eb41aca6.copilotmd | success | claude-opus-4.6 -> claude-opus-4-6 | 9205ms | [panel/editAgent]
2026-02-18 17:06:58.569 [error] TypeError (FileSystemError): Cannot read properties of undefined (reading 'length') (at tsx element Lx > sV > $Ne > Get > Xs > <anonymous> > <anonymous> > Wrt > zet > Zet > Uh > Ket > Sde > YD)
	at Rr.e (file:///home/user/.vscode-server/bin/c3a26841a84f20dfe0850d0a5a9bd01da4f003ea/out/vs/workbench/api/node/extensionHostProcess.js:116:18876)
	at Object.stat (file:///home/user/.vscode-server/bin/c3a26841a84f20dfe0850d0a5a9bd01da4f003ea/out/vs/workbench/api/node/extensionHostProcess.js:116:16027)
	at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
	at async TXe (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:1213:10510)
	at async woe.readFile (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:5529:17209)
	at async YD.render (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:1498:859)
	at async MHt (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:144:3828)
	at async /home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28188
	at async Promise.all (index 0)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28099)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft._processPromptRenderPiece (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28693)
	at async Ft._processPromptPieces (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:28343)
	at async Ft.renderRaw (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:29134)
	at async Ft.render (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:142:29018)
	at async Ft.render (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:1484:14032)
	at async C2.buildPrompt (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:2007:6435)
	at async Che.buildPrompt (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:2001:7518)
	at async Che.buildPrompt2 (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:1648:11591)
	at async Che.runOne (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:1648:6047)
	at async Che.run (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:1648:2288)
	at async jy.runWithToolCalling (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:2001:11)
	at async jy.getResult (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:2000:1437)
	at async She.getResult (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:2005:5959)
	at async RM.getResult (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:2018:9182)
	at async t3.x (/home/user/.vscode-server/extensions/github.copilot-chat-0.37.6/dist/extension.js:6200:1359)
	at async _d.$invokeAgent (file:///home/user/.vscode-server/bin/c3a26841a84f20dfe0850d0a5a9bd01da4f003ea/out/vs/workbench/api/node/extensionHostProcess.js:144:53500)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions