🦄 Alright, you made it! Thanks for stopping by. Yes, I’m a little late (again), but you’re getting the first edition of an in-depth Coding Agent adventure. Everything I wish someone had told me, plus all the misadventures that happen when you mix too much caffeine, not enough sleep, and a healthy dose of ‘what does this button do?’ energy.
Just a Quick Heads-Up 📌
Coding Agent is still a preview feature from GitHub and is subject to pre-license terms and frequent changes. Treat it like an enthusiastic beta test—one that keeps leveling up behind the scenes. This is not the tool to bet your workflow on (yet), but if you’re the adventurous type, you’ll have stories to tell. If not, don't worry! There's plenty of practical uses for it, too.
🫠 I know you’re not ready to run your business on it. I’m not, either! That’s half the fun of it, though!
So What Is Coding Agent? 🦾
“Agents do this.” “Agentic AI.” “Agent Mode.” “Agent search.”
That one word is like an annoying little fly that simply will not leave the conversation, no matter how many times you try to bat it away. Except this agent you're going to want to hang around.
In the IDE, you get Agent Mode—the friendly Copilot that does your bidding while you sit back and supervise.
Its cousin is Coding Agent—that’s what happens when you hand Copilot the keys and let it go wild (within reason, I promise). This is a fully autonomous, sandboxed solution you send off into the wild with a single task, powered by a dash of machine learning or a generous helping of “I wonder what this shiny new button does...” and absolutely zero risk of burning down your repo. 🧯
🦄 I'm willing to bet there's some magical things going on behind the scenes at GitHub when it comes to Coding Agent's future, too, because the updates are coming at a furious pace — quicker than I've ever seen this one updated before.
The first thing people always ask: Can I trust it?
Absolutely! If you don’t believe me, just know that I tried every trick in the book to break it. All I got was some truly creative nonsense code, but the bot never colored outside the lines. 🖍️
👌 That’s exactly what you want from an AI—brilliantly stubborn about staying in its lane, even when you're trying to tempt it off the rails.
Rapid Upgrades & Real Gotchas 🔄⚠️
You have to treat it like a beta test, really. Only this is a whole lot better than a beta test, because they've obviously been doing a ton of work on this guy. And not only that, it is changing frequently. Honestly, I was prepared to output a whole long list in this section, and I'm glad I checked first!
Most of what was on their page, even last week, has disappeared. So here are the things that still remain. And yes, most of these are true for Copilot whether it's in your IDE or out in the wild.
- Copilot can leak any information it has access to.
- If you care, lock it down now. This includes chat in the IDE!
- Vulnerable to prompt injection, especially from issues or pull requests.
- GitHub filters out hidden characters, but nothing’s truly foolproof.
- Every response to a prompt goes into a pull request, and nowhere else.
- Copilot might give you code that matches public repos—with zero references, even if you have the safety on.
- AI bias and weirdness? Still here, just as much as anywhere else.
🦄 GitHub all but guarantees it won't nuke your repo. No official stamp of approval, but there are a lot of safety nets.
Safety Baked In 🛡️
You don't have to panic when the cats run across your keyboard playing whatever it is cats play while racing through the house. No matter what chaos (or wildlife) hits your desk, Coding Agent will never touch your main
branch directly. It’s hardwired to make its own “copilot/” branch for every adventure.
- Each branch is “copilot” branded—no hiding where the magic happened.
- Copilot only works in branches it created itself. (Your leftovers are safe. For now.)
- When it’s done, you get a draft pull request—with your name as co-author, so prompt responsibly!
- Those required peer reviews and checks that fail out of nowhere? Yup, all the fun repo rules still apply.
- Prompted it? Sorry, you can’t self-approve your own work. Consider it a code review, not a trust fall.
- If you want more than repo-level access, you’ll need to do the secret handshake (read: set up a PAT token and permissions).
💡 ProTip: Coding Agent always charges exactly one premium request for every prompt. You can write a small novel if you want! Just know, it's also charging you for GitHub Actions minutes while Copilot is doing work—they add up faster than you think.
Set Yourself Up for Success 🚀
Setting up a code-generating robot should be as easy as flipping a switch, right? Well... almost. In reality, it's more like trying to train a particularly smart, but very distractible, golden retriever.
Give it the right setup, the right instructions, and crystal-clear boundaries—or you’ll be chasing down its “creative solutions” all week.
If you’ve already got instructions dialed in, you’re golden! If not, check out my post on custom instructions, because everything works better when you lay the ground rules.
If your instructions are for a different agent? Hang tight—you’ll want to read the next bit.
🎟️ Side note: If you’re not using VS Code, you are absolutely missing out. If you want the shiniest new Copilot features, install Insiders too. Yes, it’s a little buggy, but you’ll never be bored!
Instructions, Instructions, Instructions! 📝
As of last week, GitHub lets Coding Agent gobble up just about any custom instructions it can find in addition to the usual .github/copilot-instructions.md
file. Now is a great time to start using .github/instructions/*.instructions.md
, if you're not already. Think of it as a your laser-focused playbook pointing at exactly which files apply. Use YAML frontmatter with applyTo
glob patterns, just like the .gitignore
.
For example:
---
applyTo: frontend/**/*
---
# Frontend Instructions
Coding Agent will also happily read AGENTS.md
, CLAUDE.md
, and GEMINI.md
. This is great for one-off tests, but if you have different instructions for different bots? Welcome to the "land where instructions collide"! If you’re not careful, your instructions can cross streams and leave you with some wild results.
🦄 On the plus side, it’s a huge leap toward standardization that we desperately need. At the same time, it’s a whole new way to find edge cases nobody saw coming.
Settings & Environment Setup ⚙️
Custom Firewall Rules 🔥
Work in a locked-down org? Yeah, me too. Your firewall is probably less “security theater” and more “impenetrable fortress.” so don't be surprised if you get this message in your Coding Agent response:
Good news: You don’t have to turn it off—just add the right URLs to your Copilot allow list under repo settings.
🦄 And yes, I forget this step every single time and wonder why nothing works for half an hour.
MCP Servers + Playwright Integration 🤖
By default, GitHub’s MCP and Playwright are ready to go—zero extra setup. If you need to talk to something outside the box (looking at you, Jira), add it under repo settings.
For real magic, use Context7. While it draws the line at spelunking in stack overflow, it's an absolute game-changer when it comes to literally every other form of documentation you could possibly need. Skeptical? Check the official docs.
{
"mcpServers": {
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR_API_KEY"
},
"tools": ["get-library-docs", "resolve-library-id"]
}
}
}
🦄 Context7 is a lifesaver, but be warned: unless you specify a library-id, response times can go from “speedy” to “waiting for a train that might never come.” I keep a list of IDs in the repo and reference it in the instructions. It saves you the cost of a lookup call every time Copilot needs to pull documentation. 😉
Secrets & More Settings 🔑
MCP is plug-and-play, but by default, Copilot can only see the current repo. To grant it superpowers, make a PAT token starting with COPILOT_MCP_
and add it to your Copilot environment variables.
If you haven’t poked around GitHub environments before, now’s the time. There’s some weirdly powerful stuff in there! 🧙
💡 ProTip: Name your secret wrong and Coding Agent just shrugs and ignores you. And yes, it took me way longer than it should have to figure that one out!
Customizing the Workspace 🧑💻
Do you have custom workflows that make it seem like your AI’s about to start freelancing for a competition? Then you’ll want the Copilot Steps workflow—your way to build a fully custom, hands-off dev environment for the AI.
- The file must be
.github/workflows/copilot-setup-steps.yml
- The job? Always
copilot-setup-steps
, or it’s invisible. - You can’t change everything; only certain fields count (steps, permissions, runs-on, container, services, snapshot, timeout-minutes). Anything else, and Copilot pretends like it's not even there.
Here’s a sample workflow (straight from GitHub’s docs):
name: "Copilot Setup Steps"
# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest
# Set the permissions to the lowest permissions possible needed for your steps.
# Copilot will be given its own token for its operations.
permissions:
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
contents: read
# You can define any steps you want, and they will run before the agent starts.
# If you do not check out your code, Copilot will do this for you.
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install JavaScript dependencies
run: npm ci
🦄 This actually works. I know, I was shocked too. Get creative with it—multiple repos, wild setups, whatever. Let me know how it goes!
Wait, That’s It? 🤔
Yeah, I know—you expected another ten pages. But in the time it took me to write this, argue with ChatGPT and Gemini, play with Leonardo, and still make it to work on time? GitHub probably pushed three more features and fixed half the bugs I was going to joke about anyway.
So instead, here are the weirdest, most useful things I've learned about Coding Agent so far:
- Can I change the model? Nope. Coding Agent = Claude Sonnet 4. You can't change it, but at least they picked a good model for the job.
- How much does it cost? Every prompt equals exactly one premium, plus GHA minutes equal to run time.
-
How should I review the PR? Add comments in the
Files changed
tab so they’re submitted together as a batch. One batch is also equal to one premium request 😀 Anywhere else, go nuts giving it all the information you can. - Why won’t it work on my PR? It only works on PRs and branches it created with the “copilot” prefix. Start there if you want to use it.
-
Why won’t it respond? Use
@copilot
in every comment. Still nothing? Don’t spam—try a normal comment as a reply and watch for the eyes emoji 👀. - Workflow stuck? Be patient. Coding Agent likes to take coffee breaks between sprints. If you’re done waiting, you can cancel it—it won’t break anything, but you'll probably lose all the work it's done so far.
- How good are the results? It’s only as good as your prompt. If you want A+ output, nail the instructions and follow PRIOR. (you can skip the P, unless you’re feeling dramatic.)
🦄 If you’re stuck, confused, or just want to swap horror stories, leave a comment or DM me anywhere. It may take me a bit, but I’ll answer (eventually).
🛡️ The robots helped, but less than usual.
ChatGPT and Gemini are both in the time out corner. No Copilots were harmed in the making of this post—but there were some loud sighs, at least one new colorful expression, and a mild existential crisis while I debated the sanity of my choices.
Top comments (0)