Title: Copilot App Repeatedly Calls apply_patch with Empty Content and Gets Stuck in a Loop
I would like to report an issue I've encountered when using GitHub Copilot App with GPT models (via BYOK).
In many coding tasks, Copilot frequently chooses to invoke the apply_patch tool. However, the generated tool call often contains no patch content, resulting in the following error:
apply_patch requires a non-empty string input (the patch content).
The main issue is not only the failed tool execution itself, but that Copilot repeatedly retries the same apply_patch call after the failure. The agent appears unable to recover from the error and can become stuck in a loop continuously invoking the same tool.
Observed behavior:
- Copilot decides to use
apply_patch.
- The tool receives an empty patch.
- The tool returns the error above.
- The agent retries the same action.
- The process may repeat multiple times without making progress.
- Additional requests and credits are consumed during these retries.
Expected behavior:
- If an empty patch is generated, the agent should detect the issue before invoking the tool.
- After receiving this specific error, the agent should either regenerate the patch content or choose an alternative approach.
- The agent should avoid repeatedly invoking the same tool with identical invalid input.
- Tool failures should not result in an infinite retry loop.
Environment:
- Product: GitHub Copilot App
- Model: GPT model via BYOK
- Error message:
apply_patch requires a non-empty string input (the patch content)
It would be helpful if the agent could include safeguards against empty patch submissions and implement retry limits for tool invocation failures.
Thank you for looking into this issue.
| Field |
Value |
| App version |
1.0.21 |
| OS |
macOS 13.7.6 |
| Theme |
GitHub |
| Path |
/chat |
| Tenure |
Week 6 |
Title: Copilot App Repeatedly Calls apply_patch with Empty Content and Gets Stuck in a Loop
I would like to report an issue I've encountered when using GitHub Copilot App with GPT models (via BYOK).
In many coding tasks, Copilot frequently chooses to invoke the
apply_patchtool. However, the generated tool call often contains no patch content, resulting in the following error:apply_patch requires a non-empty string input (the patch content).The main issue is not only the failed tool execution itself, but that Copilot repeatedly retries the same
apply_patchcall after the failure. The agent appears unable to recover from the error and can become stuck in a loop continuously invoking the same tool.Observed behavior:
apply_patch.Expected behavior:
Environment:
apply_patch requires a non-empty string input (the patch content)It would be helpful if the agent could include safeguards against empty patch submissions and implement retry limits for tool invocation failures.
Thank you for looking into this issue.