AI agents · OpenClaw · self-hosting · automation

Quick Answer

How to Keep Shipping When AI Coding Tools Go Down

Published:

The Short Answer

Resilience is configured before the outage, not during it. Three things carry almost all the value: a second Git remote, a local model you have already downloaded and tested, and a rule that stops your agents the moment an API starts failing. Everything else is refinement.

The August 17, 2026 GitHub outage — which took Copilot down with Actions, PRs and SSO for several hours — made the cost of skipping this concrete for a lot of teams.

Step 1: Stop the Agents (First, Always)

Autonomous agents are the worst thing to leave running during a partial outage. They don’t recognise degraded infrastructure — they see a failed call and retry.

The damage compounds three ways: wasted spend as retries consume tokens against a doomed request, corrupted work state as half-pushed branches and partially-applied edits accumulate, and a cleanup queue of failed CI runs and orphaned PRs you’ll be untangling after recovery.

Completion criterion: every background and cloud agent is halted, and you know which ones stopped mid-task.

Step 2: Confirm Scope Before Changing Anything

Check the provider’s status page and identify which layer failed. This determines your options:

FailureStill worksYour move
Code host downLocal Git, AI assistantCommit locally, push to mirror
Model API downGit, CI, editorSwitch to local model
Auth/token layer downModel itself is fineRe-auth, or use a different provider key
Editor cloud features downLocal editor, GitWork local-only

The August 17 incident is a good example of why layer matters: Copilot’s model providers stayed operational the whole time — the break was in GitHub’s own service layer. Switching model vendors would have fixed nothing; switching assistants would have.

Completion criterion: you can name the failing layer and what remains usable.

Step 3: Fall Back to a Local Model

This only works if you did it in advance. Download and verify a local model now, while everything is healthy:

# Ollama — verify it actually answers before you need it
ollama pull qwen3.8:27b
ollama run qwen3.8:27b "write a unit test for a debounce function"

Good 2026 candidates in the run-on-a-laptop class: Qwen3.8-27B (released August 14, 2026), Meta Muse Glimmer 30B (August 10, 2026, tuned for autonomous tool use on a single consumer GPU), and Nemotron-3.5-Lightning. On 32GB of RAM these are genuinely useful for completion, test generation, refactoring and explanation — not frontier-quality reasoning, but far better than nothing. See the local open-weight comparison.

Point your editor at the local endpoint ahead of time and confirm the config works. An untested fallback is not a fallback.

Completion criterion: a local model answers a real coding prompt through your editor, with the network to your usual provider blocked.

Step 4: Keep a Live Second Git Remote

Git is distributed — your clone already contains full history. An outage takes away the shared coordination point, not your code.

git remote add mirror [email protected]:you/project.git
git push mirror --all && git push mirror --tags

Two rules make this real rather than theatrical: push to both on every significant merge (a pre-push hook or a scheduled mirror job beats discipline), and verify the mirror can be cloned occasionally. A mirror last updated in March is a false sense of security.

If you’re evaluating where the mirror should live, Origin, GitHub and GitLab compared covers the trade-offs. The important property is simply that it is a different failure domain from your primary.

Completion criterion: a fresh clone from the mirror builds and passes tests.

Step 5: Work the Offline-Capable Queue

Every team has work that needs no external service. Keep it identified so an outage becomes a schedule change rather than a stoppage:

  • Reading and understanding unfamiliar code
  • Writing tests against existing behaviour
  • Local refactoring with a local test run
  • Documentation, ADRs, spec writing
  • Local profiling and performance work
  • Reviewing diffs already fetched into your clone

Commit locally throughout. Push when the host returns.

Completion criterion: nobody on the team is blocked waiting for a status page.

Step 6: Reconcile Deliberately After Recovery

Recovery is where the second wave of damage happens. Work through it in order:

  1. Push local commits to the primary, then re-sync the mirror.
  2. Audit stopped agents — find half-applied edits and orphaned branches before restarting anything.
  3. Re-run failed CI rather than assuming green from before the incident.
  4. Check for duplicates — retrying agents frequently create near-identical PRs.
  5. Restart agents one at a time, confirming each is healthy.

Completion criterion: CI is green on the primary, no orphaned branches remain, and agents are back under supervision.

The Standing Configuration

Set once, benefit every time:

ControlSetup costWhat it buys
Second Git remote + auto-mirror~15 minCode host outages become inconvenient
Local model downloaded and tested~30 minModel API outages become invisible
Documented agent kill switch~10 minPrevents retry-storm cleanup
Status page alerts for your stack~10 minYou find out before your team does
Offline work queue, kept currentongoingOutage costs schedule, not output

Under two hours of setup. The teams that had it on August 17, 2026 kept shipping.

Last verified: August 18, 2026.

Sources