GitHub Copilot · ~40 min

Copilot Budget Controls, Set Up & Optimize

Copilot budget controls, start to finish

GitHub Copilot mascot

What you'll walk away with

A working budget setup, and the judgement to tune it as your enterprise grows.

Universal ULB

Set a universal user-level budget that lets pooling work while still capping any one user.

Power-user overrides

Find your heaviest consumers from the AI usage dashboard and give them individual, even temporary, limits.

Spending limit & hard stop

Cap total metered charges, and know why "Stop usage when budget limit is reached" is not optional.

The right scope

Choose between cost center, organization, and enterprise budgets, and why direct user assignment matters.

Sizing & scenarios

Size budgets from real usage data, and match your structure to one of five common configurations.

Duration: 5 minutes

Step 1: Set a universal user-level budget

Set the universal ULB above the per-license value, $19 USD for Copilot Business, $39 USD for Copilot Enterprise. That headroom is what lets pooling work as intended: heavier users can draw from lighter users' unused portions, instead of everyone being capped at exactly their own license value.

What the universal budget actually does

Each figure is one licensed user. The rule is the per-license value. Switch on the Step 2 layer to override the three heaviest users on top of that universal default.

License type
Budget state
$0 · all blocked $40
Step 2
Individual overrides · three heaviest users
$0 · those users blocked $57

Lighter usersHeavier users

  • Covered by own license
  • From pooled headroom
  • Unlocked by an individual override
  • Unused headroom
  • Blocked at the cap
  • Per-license value ($19)

Pooling works. Heavier users reach $42 more than a $19 cap allows. Draw $214 of $228.

Shared pool 12 × $19 = $228 Draw $214 · unused $14 Individual overrides None
If you have usage data

Size it from real consumption

Review the AI usage dashboard first, then set the universal ULB to comfortably cover typical usage with headroom for pooling.

If you're starting from zero

Pick a reasonable default, then revisit

Set a universal ULB that feels reasonable, and revisit it after your first billing cycle once the dashboard has real data to tune from.

Where to set it: Setting up budgets to control spending on metered products → Creating a budget.

Duration: 5 minutes

Step 2: Identify power users, set overrides

Once a universal ULB is in place, review your AI usage dashboard to identify your heaviest consumers, developers running frequent agent sessions, or working with large codebases, who may be blocked unnecessarily if their limit is too low.

Individual override

Takes precedence over the universal default

Increase or decrease the limit for one specific user without affecting anyone else's budget.

Temporary need?

Set an expiration date

A higher limit for one sprint or one incident should expire. GitHub removes the override on that date automatically, so the user falls back to their cost center or universal budget without any manual cleanup.

To demo this, go back a slide and switch the Step 2 layer on in the budget lab. It overrides the three heaviest users on top of the universal ULB, permanently or with an expiry date.
No usage history yet? Start with a reasonable universal ULB, then come back to this step once your AI usage dashboard shows a real consumption pattern to tune individual overrides against.
Duration: 4 minutes

Step 3: Set an enterprise spending limit

The enterprise spending limit caps your total metered charges after the shared pool is exhausted. It doesn't change how users draw from the pool, it only applies once the pool runs out and usage moves to pay-as-you-go.

01Pool available

Users draw from the shared pool, governed by user-level budgets.

02Pool exhausted

Usage moves to pay-as-you-go metered charges.

03Spending limit applies

The enterprise (or cost center) spending limit now caps further metered spend.

04Limit reached

What happens next depends entirely on the next step.

Sizing this number correctly depends on how your user-level budgets add up against your license-funded pool. That calculation is covered in Sizing & common scenarios later in this workshop.
Duration: 4 minutes

Step 4: Turn spending limits into hard stops

By default, reaching a spending limit sends a notification but does not stop usage. Charges continue to accrue without a cap until someone intervenes manually.

"Stop usage when budget limit is reached"

Enable this on every spending limit you create, enterprise-level and cost center-level, to turn it from an alert into a guardrail.

Off (default)

Alert only

Usage is not blocked. The limit is a notification, not a guardrail, and metered charges keep accruing.

On

Hard stop

Metered usage is blocked once the limit is reached. This is what most enterprises actually want when they set a spending limit.

Without this enabled, your spending limits are alerts only, not guardrails. Always enable it when creating a spending limit. User-level budgets don't need this step, they always enforce a hard stop automatically.
Duration: 4 minutes

Step 5: Monitor regularly

Budgets aren't a set-and-forget control. Check your AI usage dashboard at least monthly, and read these three signals.

Users blocked early

Your universal ULB is too restrictive, or a power user needs an individual override.

Unexpected metered charges

The pool is being exhausted before the end of the cycle. Usage patterns may have changed, revisit your spending limits.

Pool lasts all month, no blocks

This is the target state. Your budgets are well-sized, keep monitoring for drift.

The basics are now in place: universal ULB, individual overrides, a spending limit, hard stops, and a monitoring habit. The remaining steps go deeper into choosing scope and sizing budgets for your enterprise's structure.
Duration: 6 minutes

Choosing the right scope

For most enterprises, we recommend cost center budgets with users directly assigned. When users are assigned directly to a cost center, charges always follow the user, so enforcement is predictable regardless of how licenses are structured.

ScopeUse whenWho can set it
You want predictable organization-level spending control as an enterprise admin. Enterprise owners, billing managers
Organization budget Organization owners need to set their own spending limits without enterprise admin involvement. Organization owners
Enterprise budget You need a failsafe that caps total metered charges for all users not covered by a narrower budget. Enterprise owners, billing managers
If users have Copilot licenses from multiple organizations, organization budgets and cost centers that only contain organizations (not users) enforce unpredictably. The billing organization is picked at random each cycle, so spend can count against a different budget month to month. Assigning users directly to cost centers avoids this.
Already on organization budgets?

Migrating to cost centers

  • Create cost centers and assign users directly, not just organizations.
  • Set cost center budgets matching your desired spending caps.
  • Remove the organization budgets once cost center budgets are in place.
Duration: 7 minutes

Sizing budgets & common scenarios

The most common source of unexpected blocking: user-level budgets that collectively allow more consumption than the shared pool provides. Here's how to check.

1

Calculate the maximum total your user-level budgets allow: universal ULB × users, plus cost center ULBs × their users, plus any individual overrides.

2

Calculate your pool value: (Business seats × $19) + (Enterprise seats × $39).

3

Subtract the pool value from step 1's total. That gap is the maximum metered charge your spending limits need to cover.

Your enterprise (and cost center) spending limits should, together, cover that gap. Re-run this whenever you raise a ULB, raising it without raising the spending limit can cause the limit to block users before they reach their individual budgets.
Use your data

Size from the AI usage dashboard, not guesswork

  • Per-user consumption: if usage concentrates in a small group, prefer individual overrides over one high universal ULB.
  • Model usage patterns: if premium models drive spend, a model policy may be more effective than tightening budgets.
  • Monthly trends: size for the steady state; use temporary overrides for a spike (a migration, an onboarding sprint), not a permanent rebaseline.

Match your structure to a configuration:

Simple starting point

Manage shared usage responsibly

  • Universal ULB above the per-license value
  • Individual overrides for known power users
  • Enterprise budget as a safety net, hard stop on
Multiple business units

Budget by business unit

  • Cost centers scoped to each organization
  • Included usage control per cost center
  • Cost center budget + enterprise failsafe, hard stop on
Departments need different caps

Differentiate per-user limits by team

  • Cost centers per department, users assigned directly
  • Cost center ULB sets each department's default
  • Individual overrides only for exceptions
Most granular control

Power users within business units

  • Universal ULB caps most users
  • Individual overrides for specific power users
  • Cost center budgets per unit + enterprise failsafe
Duration: 2 minutes

Next steps

Pick one action to do this week: set your universal ULB, or pull your AI usage dashboard and check for early-blocked users. Then go deeper with these guides.