Skip to main content
  1. Posts/

From Praising to Bashing—My Attitude Shift Towards GitHub Copilot

·578 words·2 mins· ·
Xianpeng Shen
Author
Xianpeng Shen
Engineer. Builder. Maintainer.
Table of Contents

Recently, my attitude towards GitHub Copilot has undergone a significant change: from “praising” to “bashing.” (Previous article praising Copilot)

This shift happened in the past few days because my Claude Code subscription expired, and I planned to resubscribe and returned to GitHub Copilot, which I hadn’t used for a long time. It must be stated that my dissatisfaction with it is limited to my specific work scenarios, but perhaps it also represents a common pain point for many.

Compared to Claude Code, GitHub Copilot’s shortcomings are mainly reflected in the following two aspects:

Lack of Multi-Repository Association and Cloud/Mobile Support
#

Most of my usage scenarios involve using it directly on my phone without turning on my computer. When starting a Session, Claude Code allows me to add all associated repositories (especially when you’re working on projects within a GitHub Organization, where project interdependencies can sometimes be very tight).

Claude Code analyzes different projects and can modify code and submit Pull Requests across repositories, which is extremely convenient.

Currently, GitHub Copilot does not seem to possess such cross-repository processing capabilities. While you might achieve similar functionalities locally, it doesn’t appear to support them in mobile or cloud environments, which is a crucial missing feature.

Lack of “Senior Engineer” Awareness
#

Claude Code is more like a senior engineer; in communication, you don’t need to be exhaustive, and it just has the “sense” to do things beautifully.

For example, when you ask it to modify code, it will submit a PR for you based on your previous actions, monitor CI success, and automatically perform the next follow-up steps after merging. The entire process is very smooth.

In contrast, GitHub Copilot’s logic is sometimes incredibly unintelligent. Once it opened a PR for me, I was dissatisfied with the changes and closed it. When I proceeded with the next modification, it surprisingly continued to make changes based on the history of the previous branch I had closed, directly reintroducing the changes I had rejected into the next PR.

While such issues can be resolved by adding instructions in the Prompt (e.g., requiring it to always check out from the main branch), this is precisely the difference between a “senior engineer” and a “junior engineer”:

  • Senior Engineer: Understands the intent without you needing to provide too many details.
  • Junior Engineer: You must instruct them step-by-step on what to do and what not to do under certain circumstances.

After using Claude Code, I find that having to painstakingly teach an AI these basic logics is incredibly exhausting. So, my current advice is: if you can use Claude Code, definitely use it over other tools.

Model Limitations
#

Finally, regarding the models, GitHub Copilot does not include some of the latest versions from OpenAI and Anthropic (such as Fable, Opus 4.8, Sonnet 4.8, etc.), at least not in the Pro plan. This is also quite a regret.

This has led me to no longer want to discuss problems with it, because the results of discussions with it are often inappropriate or unusable, feeling like a waste of time.

I’ll let it help me with some other tasks with the remaining tokens; after all, it still has some value in certain aspects.


Please cite the author and source when reprinting articles from this site. Do not use for any commercial purposes. Welcome to follow the official account “沈显鹏”.

Related

Open Delivery Spec—I Built a CI Quality Gate for AI-Generated Code

·1018 words·5 mins
Over the past few months, I’ve been working on an open-source organization called Open Delivery Spec (ODS) in my spare time. The initiative stemmed from the increasing volume of AI-generated code and the lack of reliable governance mechanisms within teams. This article records the thought process, progress, and boundaries based on the project’s real-world status, without any exaggeration.

Which Code in Your Repository is AI-Written—Now There's a Tool to Govern It

·1204 words·6 mins
AI tools like Claude Code by default embed signatures in commits, something many people don’t even notice. Commit Check v2.11.0 introduces AI Attribution Governance, allowing a single line of configuration to reject commits with AI signatures at the CI level. This article also discusses the boundaries of this feature and other pain points Commit Check has solved in the past six months.

Counter-intuitive Designs in the pi project — From AGENTS.md to "Just Close Your PR First"

·3009 words·15 mins
After reading Mario Zechner’s “I’ve sold out” and then reviewing AGENTS.md and CONTRIBUTING.md in the pi repository, I found that this project differs from common open-source collaboration methods in many ways. New contributors’ issues and PRs are closed by default, no reviews on weekends, and don’t submit PRs if you don’t understand the code. It seems tough, but behind it is a serious attempt to address a problem: how open-source projects can avoid being bogged down by low-quality contributions in the AI era.