Overview
Welcome to this comprehensive guide on GitHub Copilot CLI! If you're new to this powerful command-line tool, you'll soon discover two distinct ways to interact with it: interactive mode and non-interactive mode. Each mode serves a unique purpose, and understanding when and how to use them can dramatically boost your productivity. This tutorial will walk you through both modes step by step, complete with practical examples, common pitfalls to avoid, and a clear summary to solidify your knowledge. By the end, you'll be navigating the CLI like a pro.

Prerequisites
Before diving into the modes, make sure you have the following:
- GitHub Copilot CLI installed: You need the
gh copilotextension. If you haven't installed it yet, rungh extension install github/gh-copilotafter installing the GitHub CLI (gh). - GitHub CLI authenticated: Ensure you're logged in with
gh auth login. - Basic terminal knowledge: Familiarity with navigating directories and running commands is helpful.
- A project folder: Have a repository or any folder with code files to experiment with.
Interactive Mode
What is Interactive Mode?
Interactive mode is a conversational, chat-like environment where you can ask GitHub Copilot questions, receive answers, and then follow up with more queries—all within the same session. Think of it as having an AI pair programmer that stays with you as you refine your tasks. This mode is perfect for exploratory work, troubleshooting, or when you need to iterate on a solution without leaving the command line.
Entering Interactive Mode
To launch interactive mode, simply open your terminal and type:
copilot
Then press Enter. The first time you run this, GitHub Copilot may ask for permission to trust the current folder (since it needs to read and modify files). Confirm by typing y or yes. Once inside, you'll see a prompt welcoming you to the interactive session.
Working in Interactive Mode
Now you can ask anything. For example:
How do I run this project locally?
Copilot will analyze your project's structure (e.g., looking for package.json, requirements.txt, or similar) and provide step-by-step instructions. But you can go further. If you want Copilot to actually execute the commands for you, ask:
Can you run it for me?
Copilot will then examine your code and attempt to start the server or run the script. While the action occurs, you can review the output, make decisions on the fly, and continue the conversation. For instance, you could then ask:
What changes should I make to the configuration?
This back-and-forth is the essence of interactive mode—it's a continuous dialogue that adapts to your needs.
When to Use Interactive Mode
- When you're exploring a new codebase and need guidance.
- When debugging a complex issue that requires multiple steps.
- When you want to iteratively refine a solution or ask follow-up questions.
- When collaborating with Copilot on a task that involves several changes.
Non-Interactive Mode
What is Non-Interactive Mode?
Non-interactive mode is designed for speed and simplicity. Instead of entering a long session, you pass a single prompt directly from the command line and receive an immediate answer. It's an inline experience that keeps you in your shell context—perfect for quick, one-off tasks like summarizing a repository, generating a code snippet, or integrating Copilot into automated scripts. No follow-up required; you get your answer and move on.

Using Non-Interactive Mode
To use non-interactive mode, start from your regular terminal (if you're inside an interactive session, exit with exit or Ctrl+C). Then run:
copilot -p "Quickly summarize what this repository does and the key folders."
The -p flag (short for prompt) tells Copilot you're giving a single prompt. Within seconds, Copilot scans your project files and returns a concise summary. For example, you might see output like:
This repository is a web application built with React. Key folders: src/ (components, pages), public/ (static assets), package.json (dependencies).
That's it—no session, no extra questions. You're back at your command prompt instantly.
When to Use Non-Interactive Mode
- When you need a quick summary or explanation of a folder or file.
- When you want to generate a code snippet without entering a full chat.
- When integrating Copilot into scripts or CI/CD pipelines (e.g., automatic documentation generation).
- When you're in the middle of a workflow and don't want to break focus.
Common Mistakes
- Forgetting to exit interactive mode before using non-interactive commands: If you're inside an interactive session and try to run
copilot -p ..., it won't work as expected. Always exit withexitfirst. - Not trusting the folder: When you enter interactive mode for the first time, Copilot asks for trust. If you decline, it won't be able to read or modify files, limiting its usefulness.
- Using
-pwithout quotes: If your prompt contains spaces, you must enclose it in quotes; otherwise, the shell interprets each word as separate arguments. - Expecting non-interactive mode to handle follow-ups: By design, non-interactive gives a single answer and ends. If you need to ask more, switch to interactive mode.
- Not reviewing Copilot's suggestions carefully: AI can make mistakes. Always verify generated commands or code before running them, especially in production.
Summary
GitHub Copilot CLI offers two complementary modes to suit different workflows. Interactive mode is your go-to for deep, iterative conversations—perfect for exploration and complex tasks. Non-interactive mode delivers fast, one-shot answers without interrupting your flow. By mastering both, you can seamlessly switch between collaborative exploration and efficient execution. Start with the interactive mode for new projects, then use non-interactive for quick questions. With practice, you'll find the right balance that makes Copilot an indispensable part of your command-line toolkit.