CostMonStart free

GitHub cost monitoring

Catch a macOS-heavy CI matrix before it drains your minutes

CostMon reads GitHub's billing usage API each day. It splits usage by product and runner SKU. A CI matrix that burns minutes on pricier macOS and Windows runners shows in days. So does a Copilot AI-credit spike. You do not wait for next month's invoice.

GitHub Actions & Copilot usage, live today

A GitHub-hosted runner minute has no single price. Each runner OS and size has its own per-minute list price. macOS costs about 10x the Linux rate. Windows costs about 1.7x (as of 2026-07-29). Included minutes drain in proportion to that price. A CI matrix can look fine in wall-clock minutes and still use a whole plan allowance early. Nobody sees it until metered overage starts. Larger runners always bill per minute. Copilot now bills seats plus metered AI credits. A team that uses agentic Copilot features more can pass its flat per-seat budget. A raw minutes count hides all of this. Only the per-SKU usage in GitHub's billing API shows it.

Cost anatomy

What actually drives your GitHub bill

List-price-weighted included minutes
Each GitHub-hosted runner OS and size has its own per-minute list price: Linux 2-core $0.006, Windows 2-core $0.010, macOS 3/4-core $0.062 (as of 2026-07-29). Included minutes drain at that same ratio. At about 10x the Linux rate, 200 macOS minutes can use up a 2,000-minute plan allowance.
Per-job rounding
Each job rounds up to the next whole minute. A matrix build with dozens of quick smoke tests pays that rounding on every job.
Larger runners bill regardless of plan minutes
Larger, higher-CPU GitHub-hosted runners are always billed per-minute. The included-minutes allowance from your plan never applies to them.
Public vs. private repos
Standard GitHub-hosted runners are free on public repositories; the same workflow on a private repo consumes your included-minutes pool or bills per-minute once it's exhausted.
Copilot AI credits
Since June 2026, GitHub Copilot bills seats and adds metered AI credits on top. Heavy use of agentic Copilot features can push spend far above the flat seat price.

Alerts

How CostMon warns you about GitHub spend

CostMon's default rule watches every service on your account from the day you connect it. An alert always shows up in your CostMon feed. Add an email, Slack, or webhook channel to send it somewhere else too.

Anomaly rulesource = github, service = Actions

A CI matrix leaning on macOS or Windows runners, draining the plan's included minutes in days.

Budgetsource = github

A monthly budget on total GitHub spend catches Copilot's metered AI-credit use growing alongside seats.

Sample alert, illustrative

From
alerts@costmon.com
Subject
CostMon alert: Anomaly: github / Actions spend spike
Anomaly: github / Actions spend spike

github / Actions was $160.00 on 2026-08-05 — 78% above its 14-day average of $90.00.

Severity: warning
Occurred on: 2026-08-05

To find what to cut, the recommendations list flags idle spend and commitment gaps to review.

Why CostMon

Built for GitHub spend, from day one

Per-SKU cost, instead of a raw minutes count

CostMon reads GitHub's billing usage API daily, broken down by product and SKU. Because SKUs encode runner OS and size, what those minutes cost is visible instead of a bare tally of minutes used.

Catch the expensive SKUs before the quota does

A daily, per-SKU view shows a CI matrix leaning on the pricier macOS and Windows runners. You see the allowance draining in the first week of the month.

Joins GitHub spend to the rest of your stack

CI minutes and Copilot seats rarely reach the same budget review as cloud spend. In CostMon they share a chart with AWS and GCP, so tooling spend gets the same scrutiny.

Read-only, billing-scoped credentials

CostMon connects with a token scoped to read-only billing/administration access only. It never touches your repositories, code, or Actions workflows themselves.

  • ~10×macOS runner-minute list price vs. Linux, as of 2026-07-29
  • Round upevery job bills to the next whole minute
  • Billing usage APIGitHub usage-by-SKU pull, daily

Getting started

From API key to first alert, for GitHub

  1. 01

    Connect a read-only billing token

    Add a fine-grained personal access token with Administration: read for an organization, or a classic token with admin:enterprise for enterprise-wide billing. CostMon never touches your repositories, code, or workflow contents.

  2. 02

    CostMon syncs and normalizes

    CostMon queries GitHub's billing usage API month by month. It groups the result by date, product and SKU. GitHub spend then uses the record format that every other source uses.

  3. 03

    See the runner, then get the alert

    Open a daily view of Actions and Copilot spend by SKU. A matrix that leans on macOS runners lifts the Actions line, and a rule fires.

FAQ

Common questions about the GitHub connector

How does CostMon connect to GitHub?

Through a fine-grained personal access token scoped to Administration: read for an organization, or a classic token with admin:enterprise for enterprise-wide billing. CostMon only reads billing usage, never your code, issues, or workflow contents.

Does CostMon break Actions spend down by runner type?

Yes. GitHub's billing API reports usage for each date, product and SKU. A SKU names the runner OS and size. You see Linux, Windows and macOS minutes apart instead of one blended Actions total.

Does CostMon track GitHub Copilot spend too?

Yes, as far as GitHub reports it. Copilot is one of the products in GitHub's billing usage API. CostMon syncs whatever that API returns for Copilot. It sits next to Actions spend in the same daily view.

Does CostMon show per-repository cost?

GitHub's billing API returns usage at the organization or enterprise level. CostMon stores it at that date, product, and SKU grain, rather than per repository or per workflow.

What does the GitHub connector cost?

A flat monthly rate per plan. CostMon never takes a percentage of your GitHub spend or the savings it helps you find. Free includes 2 connectors; Professional and Enterprise include unlimited connectors.

Connectors

Cloud, AI, and SaaS: all in one place

AWS, GCP, and Azure for cloud. Anthropic, OpenAI, Amazon Bedrock, Vertex AI / Gemini, and Helicone for AI and LLM spend. Snowflake and Databricks for the data cloud. Datadog, GitHub, and Vercel for the rest of the stack. Add CSV import for any tool without a native connector. That's 14 connectors, all normalized into the same unified view.

Connect it. Get the first alert.

Connect a provider and CostMon builds a daily baseline for it. From there, a spike reaches your team as an alert.

Esc