github / github/copilot-cli

Copilot CLI loops infinitely and fails apply_patch due to JSON-wrapping error

Open
#4,553 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:models area:tools
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

Describe the bug

While executing regular coding tasks that require file modifications, the Copilot CLI frequently fails to apply patches. The CLI enters a loop where it attempts to edit a file, fails with a JSON-wrapping error, and retries the exact same payload repeatedly.

This causes a task that should take 2 steps to take 30+ steps, resulting in massive latency, tool frustration, and high token consumption before it either randomly recovers or fails entirely. Many models are failing to adapt to apply_patch. I havent seen issue with sonnet 4.6 and gpt-sol but other models like sonnet 5, luna, terra are failing most of the times.

Error Message / Trace
When the CLI attempts to apply an edit, it outputs the following error:

✗ Edit 
 └ Failed to parse patch: The first line of the patch must be '*** Begin Patch' 
   The input begins with '{' and appears to be JSON-wrapped. apply_patch is a 
   freeform tool; pass raw patch text directly. Do not retry this payload.

Behavior Details
Infinite Loop: Once this error is triggered, the model consistently retries the same payload 10 to 30+ times in a row despite the warning "Do not retry this payload".

Temporary Recovery: Eventually, the model might format the tool call correctly by accident, but the error quickly resurfaces on subsequent edits.

CLI vs. VS Code: This behavior is highly localized to the CLI. Using the same prompts and models in the VS Code Copilot Chat interface works perfectly without any patch-parsing issues.

Affected version

GitHub Copilot CLI 1.0.80

Steps to reproduce the behavior

This is intermittent but seen in most of medium complexity prompts.

  • Open Terminal ( I did on iterm)
  • start interactive session (copilot) - i did not append any flag options ( i opened a session on TMUX)
  • Trigger a medium complexity prompt which would need to change your sourcecode files.
  • It should trigger the error - It generally happens mid sessions not in the first prompt itself. but yea this is intermittent behaviour
Expected behavior

No response

Additional context
  • OS: Ubuntu server
    Tool: Github Copilot CLI (Latest Version)
    Comparison: Not observed in VS Code Copilot Chat (works successfully there)
    LLM Models tried : Both GPT-5.6-Luna and Claude-sonnet-5

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files or tests are named. Start by reproducing the issue in Copilot CLI 1.0.80 on Ubuntu, using an interactive session and a medium coding prompt that edits files, then compare the CLI behavior with VS Code Copilot Chat. Done means apply_patch accepts the tool payload and the CLI stops retrying the same failed request.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.