GitHub Copilot - Methods, modes, and Models: Which one is the best?
When someone asks "what's the best [insert type of tool]", the answer usually is "it depends". What's the best car? What's the best computer? What's the best AI? It all depends on what you're trying to do. What you're better off asking is "what's the best [insert type of tool] for [insert activity]". Now your questions become "What's the best car for long distance driving?", "What's the best computer for FPS gaming?" "What's the best AI for coding?" Now we're getting somewhere. "What's the best AI?" is a trick question, because it depends on the type of activity you are doing. Same with models, agents, and modes. Let's look at GitHub Copilot and how you can use it to achieve what you want, and what the different modes and models are designed for. GitHub Copilot Methods When GitHub Copilot was first launched, code completion was all it could really do. It can suggest lines of code, or whole functions. Now, GitHub Copilot has evolved to do so much more. It can still suggest lines of code or functions. You can still use the chat feature in the side bar, or you can press "CTRL + I" to bring up the inline chat and have GitHub Copilot help with a certain section of your code. These are the three main ways you can interact with GitHub Copilot: GitHub Copilot Code Completion GitHub Copilot Chat GitHub Copilot In-Line Chat GitHub Copilot Modes Within GitHub Copilot Chat, we now have various ways in which we can chat and interact with GitHub Copilot: Ask, Edit, and Agent. By clicking the arrow next to the GitHub Copilot “mode,” you can bring up these three options. You'll want to choose the option that suits the outcome you are wanting. For example: Ask: Question GitHub Copilot on technical topics Edit: Have GitHub Copilot create new code, or edit existing code Agent: Let GitHub Copilot automatically edit your existing code using multiple requests to pick which files it should edit, run commands, understand errors and iterate on those errors The mode you pick will depend on what you want to accomplish. If you're starting a new project for the first time, you won't be able to use "Agent" mode because there's no code to edit. Think about what you're trying to do and which mode is the best for you. Switching between modes can help you have the best outcome. GitHub Copilot Models Like many AIs, GitHub Copilot runs on various different models. These models have been trained differently and therefore are better at doing certain things. It's like asking different people for their answer to a question; everyone has been taught slightly different and have different experiences and backgrounds, and thus the answers you receive from different people might be slightly different. In a similar way, different Large Language Models (LLMs) can help with different tasks. For example, GPT-4o is a multimodal model and can support both text and images. Thus, by using GPT-4o you can have GitHub Copilot convert a hand drawn wireframe into a functional website. Claude 3.7 Sonnet, for example, is an advanced model that requires structured reasoning, but can deliver on deeper tasks. It's good at bug fixes and advanced optimisation. Gemini 2.0 Flash on the other hand is good at generating small reusable pieces of code due to its high-speed, multimodal model that's been optimised for real-time inputs and agentic reasoning, making it a good fit for Agent Mode. There are tonnes of models to choose from and you can read more about them in the GitHub Docs and understand which one you might want to use for a specific task. You can choose your model, right alongside the GitHub Copilot mode: Remember, if you are having trouble getting what you want from GitHub Copilot, switching to a different mode can really help. How have you been using GitHub Copilot? What's your top tip for getting the best out of GitHub Copilot?

When someone asks "what's the best [insert type of tool]", the answer usually is "it depends". What's the best car? What's the best computer? What's the best AI? It all depends on what you're trying to do. What you're better off asking is "what's the best [insert type of tool] for [insert activity]". Now your questions become "What's the best car for long distance driving?", "What's the best computer for FPS gaming?" "What's the best AI for coding?" Now we're getting somewhere.
"What's the best AI?" is a trick question, because it depends on the type of activity you are doing. Same with models, agents, and modes. Let's look at GitHub Copilot and how you can use it to achieve what you want, and what the different modes and models are designed for.
GitHub Copilot Methods
When GitHub Copilot was first launched, code completion was all it could really do. It can suggest lines of code, or whole functions. Now, GitHub Copilot has evolved to do so much more. It can still suggest lines of code or functions. You can still use the chat feature in the side bar, or you can press "CTRL + I" to bring up the inline chat and have GitHub Copilot help with a certain section of your code. These are the three main ways you can interact with GitHub Copilot:
- GitHub Copilot Code Completion
- GitHub Copilot Chat
- GitHub Copilot In-Line Chat
GitHub Copilot Modes
Within GitHub Copilot Chat, we now have various ways in which we can chat and interact with GitHub Copilot: Ask, Edit, and Agent.
By clicking the arrow next to the GitHub Copilot “mode,” you can bring up these three options. You'll want to choose the option that suits the outcome you are wanting. For example:
- Ask: Question GitHub Copilot on technical topics
- Edit: Have GitHub Copilot create new code, or edit existing code
- Agent: Let GitHub Copilot automatically edit your existing code using multiple requests to pick which files it should edit, run commands, understand errors and iterate on those errors
The mode you pick will depend on what you want to accomplish. If you're starting a new project for the first time, you won't be able to use "Agent" mode because there's no code to edit. Think about what you're trying to do and which mode is the best for you. Switching between modes can help you have the best outcome.
GitHub Copilot Models
Like many AIs, GitHub Copilot runs on various different models. These models have been trained differently and therefore are better at doing certain things. It's like asking different people for their answer to a question; everyone has been taught slightly different and have different experiences and backgrounds, and thus the answers you receive from different people might be slightly different.
In a similar way, different Large Language Models (LLMs) can help with different tasks. For example, GPT-4o is a multimodal model and can support both text and images. Thus, by using GPT-4o you can have GitHub Copilot convert a hand drawn wireframe into a functional website.
Claude 3.7 Sonnet, for example, is an advanced model that requires structured reasoning, but can deliver on deeper tasks. It's good at bug fixes and advanced optimisation. Gemini 2.0 Flash on the other hand is good at generating small reusable pieces of code due to its high-speed, multimodal model that's been optimised for real-time inputs and agentic reasoning, making it a good fit for Agent Mode. There are tonnes of models to choose from and you can read more about them in the GitHub Docs and understand which one you might want to use for a specific task.
You can choose your model, right alongside the GitHub Copilot mode:
Remember, if you are having trouble getting what you want from GitHub Copilot, switching to a different mode can really help.
How have you been using GitHub Copilot? What's your top tip for getting the best out of GitHub Copilot?