Skip to content

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

@kubajanusz

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)

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