Self-hosted GitHub Actions runners for up to 10× less.

One changed runs-on line, three cloudsChange runs-on: ubuntu-latest to runs-on: backmesh-4, and GitHub Actions jobs each run on their own spot VM in AWS, Google Cloud or Azure.GitHub Actions- runs-on: ubuntu-latest+ runs-on: backmesh-4 # 4 vCPU spot VMAWSGCPAzure

Each job runs on its own spot VM in your AWS, GCP or Azure account. Your cloud bills you, so your cloud credits apply.

# Paste into Claude Code, Codex, or another coding agent

set up https://backmesh.com/SKILL.md

Core features free, no credit card.

  • No cloud keys storedA role from your cloud CLI connects each cloud.
  • Your code never reaches usCode, secrets, caches and logs stay between GitHub and your runners.
  • One small event per jobIt never names the repo, workflow, job or branch. What's sent

150,000 minutes a month: $1,800 on GitHub, $191–$365 on backmesh.

4-vCPU Linux jobs; the range spans AWS, Azure and GCP and the VM types a job may get.

Compute cost a month

GitHub-hosted$1,800
backmesh on AWS$206–$259

+ $0.40–$0.58 per 1,000 jobs to boot their VMs, about 30 s each

backmesh on Azure$191–$200

+ $0.53–$0.69 per 1,000 jobs to boot their VMs, about 60–70 s each

backmesh on GCP$288–$365

+ $1.43–$2.27 per 1,000 jobs to boot their VMs, about 60–70 s each

  • Spot VMs (range across VM types)
  • Control plane, fixed

Control plane: about $86 on AWS, $111 on Azure, $74 on GCP.

GitHub's list price against spot prices on 2026-11-07, without disks, VM boots or runners no job takes, so it's a floor; see What does backmesh cost?

Pricing

backmesh's core features are free; you pay your clouds for the VMs.

Pick the cloud per workflow.

Each label runs in one cloud. Out of spot capacity, the next VM type launches, never the next cloud. Use backmesh-od-* (on-demand) for jobs that shouldn't be interrupted.

strategy:
  matrix:
    cloud: [aws, gcp, azure]
runs-on: backmesh-${{ matrix.cloud }}-4
  • backmesh-aws-4test · aws
  • backmesh-gcp-4test · gcp
  • backmesh-azure-4test · azure

Every job log ends with what it used.

Job log

backmesh: resources over 312 s,
sampled every 5 s
  Memory  peak 9.8 GiB of 15.5 GiB,
          0 OOM kills
  CPU     average 2.41 cores,
          peak 3.91 of 3.98
  Disk    work directory peak 3.4 GiB

One status for every cloud.

Runner VMs, queue, 24 h and 7 d job times, and month-to-date cost.

backmesh status

$ backmesh status
Runners: each job runs in its own VM
  backmesh-aws-4: 6 assigned, 6 running
    24 h: 42 jobs; queued to started
      p50 21 s, p95 1.6 min
Cost since 2026-11-01: $41.80
Abridged, with illustrative numbers.

One GitHub App, and what its key can do.

Four permissions, its webhook off, and a key held by backmesh, never in your accounts. The same key works in every org that installs the App.

Its key can

  • Register a runner in any runner group and take its jobs, code and secrets
  • Dispatch or rerun a workflow
  • Change the OIDC subject claim your trust policies match on
  • Read, cancel or delete runs and logs
  • Write check runs

It can't

  • Read code through the API
  • Manage repository secrets
  • Change administration settings
  • See org members

The boot happens before the push.

Your coding agent cues backmesh as its checks start, so runners boot while it finishes and the job starts on one that's already up.

Without a cue
pushVM bootsjob runs
With a cue
VM bootspushjob runs
runner VM bootsCI job

Before you install

Will backmesh work for my jobs?Linux x86-64 only. Private repos only.
  • No macOS, Windows, Arm or GPU runners.
  • Each job waits for its VM to boot: about 30 s on AWS, 60–70 s on GCP and Azure. Starting runners ahead of predicted jobs, and your agent's cue, mostly hide it.
  • A reclaimed spot VM fails its job; if reclaims were the run's only failures, backmesh reruns them, up to twice.
  • Each job starts with an empty Docker layer cache.
Is backmesh safe?Each job gets its own VM.
  • Jobs from every repo in the org use the same labels.
  • Only run code you'd trust your org's members to run.
  • Per-repo isolation is planned.
What does backmesh cost?No VM while idle.
  • Idle: the control plane, about $86 a month on AWS, $74 on GCP, $111 on Azure.
  • Each job's VM bills from boot until the job ends.

One install. Your clouds. Your bill.

# Paste into Claude Code, Codex, or another coding agent

set up https://backmesh.com/SKILL.md
Install manually