Copilot agent permissions: deny, ask, or allow
GitHub shipped enterprise-managed permissions for Copilot agent operations — shell commands, file access, and network domains, set centrally and unbreakable by users.
GitHub made Copilot agent permissions an admin decision on September 9. Every shell command, file read, file edit, and outbound network domain now falls under one of three policies an enterprise admin sets: deny, ask, or allow. The developer cannot loosen it. That last clause is the entire product.
What actually happened
The GitHub Changelog entry describes three permission categories — shell commands, file reads and edits, and network domains — each with a deny / ask / allow setting. Admins of GitHub Copilot Business or Copilot Enterprise configure them, and organizations can vary the policy by team.
The enforcement language is the part to read closely. Managed restrictions cannot be weakened by user settings, workspace settings, auto-approval, or previously saved approvals. If your policy says "ask before running curl," a developer who clicked "always allow" last Tuesday still gets asked. This is generally available across the GitHub Copilot app, Copilot CLI, and VS Code sessions running Agent Host.
It lands one day after GitHub put enterprise-managed sandbox policies for Copilot in JetBrains into public preview. Different surface, same direction: agent controls are moving off the laptop and into org configuration.
Why agent permissions matter for your business
Most teams we talk to have exactly one agent permission model, and it is the approval dialog. The dialog works until the third day, when a developer stops reading it and starts clicking through. Then "always allow" gets saved, and the policy is now whatever the fastest-typing person on your team decided at 4:50pm on a Friday.
The three categories map cleanly onto the three ways an agent actually hurts you.
Shell commands are how an agent destroys state — a git reset --hard, a DROP TABLE against the wrong DATABASE_URL, an rm -rf with a variable that resolved to empty.
File reads are how it leaks. An agent that can read .env and can also reach the network is a two-step exfiltration path, and neither step looks like an attack in a log.
Network domains are the choke point that makes the other two survivable. Allowlist your package registry, your API, your error tracker. Deny the rest. An agent that cannot call out cannot send anything out.
If you are not on Copilot Business, the lesson still applies: pick the tool that lets you set this centrally, then actually set it. A control each developer can toggle is not a control.
Key takeaways
- GitHub shipped enterprise-managed permissions for Copilot agent operations on September 9, 2026, generally available
- Three categories — shell commands, file reads and edits, network domains — each set to deny, ask, or allow
- Managed restrictions cannot be overridden by user settings, workspace settings, auto-approval, or saved approvals
- Available to Copilot Business and Copilot Enterprise admins, with per-team policy variation
- Covers the Copilot app, Copilot CLI, and VS Code sessions using Agent Host
An approval dialog nobody reads is not a permission model. We wire coding agents into real workflows with scoped credentials, network allowlists, and approval gates that survive a busy sprint. See how we build dev tooling that holds up, or tell us what your agents can currently run.
Sources: GitHub Changelog, GitHub Changelog: JetBrains managed sandbox.
- #github-copilot
- #agent-permissions
- #coding-agents
- #dev-tools
- #agent-security
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Ivanti patches 10 CVEs: two unauthenticated RCEs in ITSM
Ivanti's September 2026 update fixes 10 CVEs across Neurons for ITSM, EPMM and Sentry — six critical, two exploitable with no login at all. Patch order matters.
Read itAttackers built and ran an agent campaign in six hours
Google's threat team watched an intruder plan, build and execute mass credential harvesting in under six hours using an agent framework. Your response window just shrank.
Read it