Skip to content

Title: Copilot App Repeatedly Calls apply_patch with Empty Content and Gets S... #1924

Description

@YOLOthemotto

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions