{"id":2034,"date":"2026-03-25T03:38:23","date_gmt":"2026-03-25T03:38:23","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/all-things-azure\/?p=2034"},"modified":"2026-03-25T05:23:42","modified_gmt":"2026-03-25T05:23:42","slug":"your-entire-engineering-floor-just-stopped-coding","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/all-things-azure\/your-entire-engineering-floor-just-stopped-coding\/","title":{"rendered":"Your Entire Engineering Floor Just Stopped Coding"},"content":{"rendered":"<p><span style=\"font-size: 18pt;\"><strong>And the developers running Claude Code and GitHub Copilot CLI didn&#8217;t notice&#8230;<\/strong><\/span><\/p>\n<p><figure id=\"attachment_2050\" aria-labelledby=\"figcaption_attachment_2050\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-content\/uploads\/sites\/83\/2026\/03\/your-engineering-floor-stopped-coding-claude-code-copilot-cli.webp\"><img decoding=\"async\" class=\"size-full wp-image-2050\" src=\"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-content\/uploads\/sites\/83\/2026\/03\/your-engineering-floor-stopped-coding-claude-code-copilot-cli.webp\" alt=\"Featured image showing a laptop with two terminal windows \u2014 Claude Code with API timeout errors in red, GitHub Copilot CLI working smoothly with green checkmarks\" width=\"1200\" height=\"630\" srcset=\"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-content\/uploads\/sites\/83\/2026\/03\/your-engineering-floor-stopped-coding-claude-code-copilot-cli.webp 1200w, https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-content\/uploads\/sites\/83\/2026\/03\/your-engineering-floor-stopped-coding-claude-code-copilot-cli-300x158.webp 300w, https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-content\/uploads\/sites\/83\/2026\/03\/your-engineering-floor-stopped-coding-claude-code-copilot-cli-1024x538.webp 1024w, https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-content\/uploads\/sites\/83\/2026\/03\/your-engineering-floor-stopped-coding-claude-code-copilot-cli-768x403.webp 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><figcaption id=\"figcaption_attachment_2050\" class=\"wp-caption-text\">Claude Code and GitHub Copilot CLI running side by side \u2014 when one provider goes down, the other keeps you coding.<\/figcaption><\/figure><\/p>\n<p><strong><span style=\"font-size: 18pt;\">Status Page Says &#8216;Operational.&#8217; Your Subagents Say Otherwise.<\/span><\/strong><\/p>\n<p>If you&#8217;re running autonomous agents in any serious capacity, you&#8217;ve experienced this:\u00a0<strong>model provider outages aren&#8217;t edge cases \u2014 they&#8217;re part of the operating environment.<\/strong>\u00a0Anthropic has had outages. OpenAI has had outages. Google has had outages. Every major model provider has had the kind of degraded performance that doesn&#8217;t trigger a status page alert but absolutely kills an agentic coding session. The traditional answer is &#8220;wait it out.&#8221; But if you&#8217;re a solutions architect prepping for a client demo tomorrow, or an engineer mid-sprint on a Friday afternoon, waiting isn&#8217;t an option. Here&#8217;s what a dual-tool setup gives you:<\/p>\n<ul>\n<li><strong>Claude Code connects to Anthropic&#8217;s API directly<\/strong> \u2014 which fans out across AWS and GCP inference endpoints with varying GPU stacks, and when one backend hiccups, you see elevated API errors and poor user experience.<\/li>\n<li><strong>Copilot CLI connects through GitHub&#8217;s infrastructure<\/strong> \u2014 with access to Claude, GPT-5.4, Gemini 3 Pro, Opus 4.6 and more via <code>\/model<\/code><\/li>\n<li><strong>Different providers, different infrastructure, different blast radius<\/strong><\/li>\n<\/ul>\n<p>When one path is degraded, the other is almost certainly fine. And because both tools read the same project configuration, switching takes seconds \u2014 not a session rebuild.<\/p>\n<h2>They&#8217;re Not Competitors \u2014 They&#8217;re Specialists<\/h2>\n<p>The real &#8220;better together&#8221; story isn&#8217;t just about redundancy. It&#8217;s about complementary strengths. Each tool has capabilities the other doesn&#8217;t, and together they cover more ground than either one alone.<\/p>\n<h3>Claude Code Excels At<\/h3>\n<ul>\n<li><strong>Deep autonomous coding sessions<\/strong>\u00a0\u2014 multi-hour sprints where the agent plans, builds, tests, and iterates without hand-holding<\/li>\n<li><strong>Subagent orchestration<\/strong> \u2014 spawn specialized agents (Explore, Plan, custom) with isolated context windows so your main session stays clean<\/li>\n<li><strong>Custom hooks and guardrails<\/strong>\u00a0\u2014 full programmatic pre\/post tool-use control with JS or Python handlers. I run a four-tier decision engine (deterministic rules \u2192 sequence tracking \u2192 AI classifier \u2192 human-in-the-loop escalation) that would be hard to replicate elsewhere<\/li>\n<li><strong>Flexible model routing<\/strong>\u00a0\u2014 point at Anthropic directly, Azure AI Foundry, or route through GitHub Copilot&#8217;s API as a proxy<\/li>\n<\/ul>\n<h3>Copilot CLI Excels At<\/h3>\n<ul>\n<li><strong>You&#8217;re not locked to one model provider<\/strong>\u00a0\u2014 this is the big one. Copilot CLI gives you access to\u00a0<strong>Anthropic&#8217;s Claude<\/strong>\u00a0(Opus 4.6, Sonnet 4.6, Haiku 4.5),\u00a0<strong>OpenAI&#8217;s GPT-5<\/strong>\u00a0(plus GPT-5 mini and GPT-4.1 at no premium request cost), and\u00a0<strong>Google&#8217;s Gemini 3 Pro<\/strong>\u00a0\u2014 all through a single\u00a0<code>\/model<\/code>\u00a0command. No separate API keys, no separate billing, no separate infrastructure. One subscription, every frontier model.<\/li>\n<li><strong>Native GitHub integration<\/strong>\u00a0\u2014 the built-in GitHub MCP server gives you issues, PRs, code search, labels, and Copilot Spaces without any configuration<\/li>\n<li><strong>Interactive plan mode<\/strong>\u00a0\u2014\u00a0<code>Shift+Tab<\/code>\u00a0into a structured planning flow where Copilot asks clarifying questions via the\u00a0<code>ask_user<\/code>\u00a0tool before writing any code<\/li>\n<li><strong>\/review for pre-commit code review<\/strong>\u00a0\u2014 get AI feedback on your staged changes without leaving the terminal<\/li>\n<li><strong>Plugin ecosystem<\/strong>\u00a0\u2014 install community plugins directly from GitHub repos with\u00a0<code>\/plugin install owner\/repo<\/code><\/li>\n<li><strong>Seamless Codespaces integration<\/strong>\u00a0\u2014 Copilot CLI is included in the default Codespaces image and available as a Dev Container Feature<\/li>\n<\/ul>\n<h2>What You Share (More Than You&#8217;d Expect)<\/h2>\n<p>Here&#8217;s the part that surprised me: the configuration overlap between these two tools is substantial. You&#8217;re not maintaining two separate setups. You&#8217;re maintaining one setup with a thin parallel layer.<\/p>\n<table>\n<thead>\n<tr>\n<th>Feature<\/th>\n<th>Status<\/th>\n<th>What This Means<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>CLAUDE.md instructions<\/td>\n<td>\u2705 Native<\/td>\n<td>Copilot CLI reads your CLAUDE.md at repo root. Zero config.<\/td>\n<\/tr>\n<tr>\n<td>AGENTS.md<\/td>\n<td>\ud83d\udd17 Symlink<\/td>\n<td>Symlink AGENTS.md \u2192 CLAUDE.md. One source of truth.<\/td>\n<\/tr>\n<tr>\n<td>Skills (.claude\/skills\/)<\/td>\n<td>\u2705 Native<\/td>\n<td>Both tools auto-load skills. Best cross-tool interop.<\/td>\n<\/tr>\n<tr>\n<td>MCP servers<\/td>\n<td>\u2194\ufe0f Parallel config<\/td>\n<td>Same server process. Config in .claude\/mcp.json + devcontainer.json.<\/td>\n<\/tr>\n<tr>\n<td>Subagents<\/td>\n<td>\u2194\ufe0f Parallel definitions<\/td>\n<td>Different file formats. Share the prompt body, vary the YAML frontmatter.<\/td>\n<\/tr>\n<tr>\n<td>Hooks (pre\/post tool-use)<\/td>\n<td>\u2194\ufe0f Parallel plumbing<\/td>\n<td>Same classifier binary called by both. Different registration formats.<\/td>\n<\/tr>\n<tr>\n<td>Memory<\/td>\n<td>\u2796 Separate<\/td>\n<td>Independent systems. No conflicts.<\/td>\n<\/tr>\n<tr>\n<td>Session state<\/td>\n<td>\u2796 Separate<\/td>\n<td>~\/.claude\/ vs ~\/.copilot\/. Fully isolated, zero interference.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The big insight:\u00a0<strong>instruction files, skills, and MCP servers are the shared foundation<\/strong>. Subagents and hooks need parallel definitions, but the core logic is shared. Memory and sessions are fully independent \u2014 which is actually what you want.<\/p>\n<h2>The Five-Minute Setup<\/h2>\n<p>Getting both tools running in the same repo is straightforward. Here&#8217;s what I did.<\/p>\n<h3>Step 1: Symlink Your Instructions<\/h3>\n<p>CLAUDE.md is the source of truth. Copilot CLI reads it natively. Add a symlink for broader tool compatibility:<\/p>\n<pre><code>ln -s CLAUDE.md AGENTS.md<\/code><\/pre>\n<p>Claude-specific syntax (like\u00a0<code>@import<\/code>\u00a0directives or subagent\u00a0<code>@<\/code>-mentions) is silently ignored by Copilot CLI. No conflicts.<\/p>\n<h3>Step 2: Skills Just Work<\/h3>\n<p>If you have a\u00a0<code>.claude\/skills\/<\/code> directory, Copilot CLI already reads it. Same SKILL.md files, same auto-loading behavior, same skill descriptions triggering on task match. This is the strongest interop point between the two tools \u2014 GitHub clearly built it for this.<\/p>\n<h3>Step 3: Mirror Your Agents<\/h3>\n<p>Claude Code subagents live in\u00a0<code>.claude\/agents\/sentinel.md<\/code>. Copilot custom agents live in\u00a0<code>.github\/agents\/sentinel.agent.md<\/code>. The YAML frontmatter differs slightly, but the system prompt body \u2014 the actual instructions \u2014 can be identical. I wrote a simple sync script that extracts the prompt body from Claude Code agent files and generates the Copilot CLI equivalents:<\/p>\n<pre><code>#!\/bin\/bash\r\n# sync-agents.sh \u2014 keep agent definitions in sync\r\nfor agent in .claude\/agents\/*.md; do\r\n  name=$(basename \"$agent\" .md)\r\n  body=$(sed '1,\/^---$\/d' \"$agent\" | sed '1,\/^---$\/d')\r\n  desc=$(grep 'description:' \"$agent\" | head -1 | sed 's\/description: \/\/')\r\n  cat &gt; \".github\/agents\/${name}.agent.md\" &lt;&lt; EOF\r\n---\r\nname: ${name}\r\ndescription: ${desc}\r\n---\r\n${body}\r\nEOF\r\ndone<\/code><\/pre>\n<p>Add it to a pre-commit hook or CI step, and your agents stay synchronized automatically.<\/p>\n<h3>Step 4: Dual MCP Config<\/h3>\n<p>Both tools connect to the same MCP server process \u2014 you just register it in two places. Claude Code uses\u00a0<code>.claude\/mcp.json<\/code>\u00a0with\u00a0<code>\"type\": \"stdio\"<\/code>. Copilot CLI uses\u00a0<code>.devcontainer\/devcontainer.json<\/code>\u00a0with\u00a0<code>\"type\": \"local\"<\/code>\u00a0(which maps from stdio automatically). Same binary, same capabilities, different config files.<\/p>\n<h3>Step 5: Shared Hook Logic<\/h3>\n<p>If you run safety hooks (I run a PostToolUse classifier chain with ModernBERT), extract the decision logic into a standalone CLI tool. Both Claude Code&#8217;s hook system and Copilot CLI&#8217;s hook system can call the same binary via stdin\/stdout. The plumbing differs; the brain is shared.<\/p>\n<h2>What I Learned<\/h2>\n<h3>1. Model provider outages are a &#8220;when,&#8221; not an &#8220;if&#8221;<\/h3>\n<p>I was coding an experimental project over the weekend with a friend \u2014 he was deep in Claude Code, subagents running&#8230;\nThen responses started dragging. 30 seconds. Then 4+ minutes per tool call. Not erroring \u2014 just slow enough to be\nuseless.\u00a0 The worst kind of outage, agentic brown-out.<\/p>\n<p>I said, &#8220;Open Copilot CLI in another tab.&#8221; He typed copilot \u2014 it read the same CLAUDE.md, loaded the same skills,\npicked up the repo context. \/model gpt-5.4. First response: 3 seconds.<\/p>\n<p>That&#8217;s the whole argument. Not that one tool is better. But that the one time you need the second one, you really need\nit \u2014 and the switch is almost seamless.<\/p>\n<p>Every major provider has had significant degradation in the past six months. If your agentic workflow depends on a single API endpoint, you have a single point of failure. Running two tools with access to different model providers is the simplest form of resilience.<\/p>\n<h3>2. Copilot CLI gives you model-provider freedom<\/h3>\n<p>Here&#8217;s the beautiful part: Copilot CLI isn&#8217;t a single-model tool \u2014 it&#8217;s a\u00a0<em>model marketplace<\/em>. You get Claude Opus 4.6, Claude Sonnet 4.6, GPT-5, GPT-5 mini, GPT-4.1 (at no premium request cost), and Gemini 3 Pro \u2014 all accessible via\u00a0<code>\/model<\/code>. When I run Claude Code through\u00a0<code>github-copilot\/claude-sonnet-4.6<\/code>, I&#8217;m hitting the same Claude model through GitHub&#8217;s infrastructure. Same weights, same capabilities, different path. And when Claude is degraded, I switch to GPT-5 in two keystrokes. No API key swapping, no config changes. That&#8217;s the kind of resilience that matters at 4pm on a Friday before a Monday demo.<\/p>\n<h3>3. Skills are the killer interop feature<\/h3>\n<p>Of everything I tested, the\u00a0<code>.claude\/skills\/<\/code>\u00a0directory having native cross-tool support was the most impactful. A well-written SKILL.md that teaches an agent a specific workflow (SEC filing analysis, test generation, deployment scripting) works identically in both tools without any modification.<\/p>\n<h3>4. You don&#8217;t have to choose \u2014 and you shouldn&#8217;t<\/h3>\n<p>The agentic coding landscape is moving fast. New capabilities ship weekly in both tools. Locking into a single tool means you miss half the innovations. Running both means you always have access to the latest capabilities from both ecosystems \u2014 Claude Code&#8217;s Agent Teams\u00a0<em>and<\/em>\u00a0Copilot CLI&#8217;s\u00a0<code>\/fleet<\/code>, Claude Code&#8217;s custom hooks\u00a0<em>and<\/em>\u00a0Copilot CLI&#8217;s plugin system.<\/p>\n<h2>The Repository Structure<\/h2>\n<p>For reference, here&#8217;s what a dual-tool repo looks like:<\/p>\n<pre><code>your-repo\/\r\n\u251c\u2500\u2500 CLAUDE.md                          # [shared] Source of truth\r\n\u251c\u2500\u2500 AGENTS.md -&gt; CLAUDE.md             # [shared] Symlink\r\n\u2502\r\n\u251c\u2500\u2500 .claude\/\r\n\u2502   \u251c\u2500\u2500 mcp.json                       # [Claude Code] MCP config\r\n\u2502   \u251c\u2500\u2500 settings.json                  # [Claude Code] Hooks + settings\r\n\u2502   \u251c\u2500\u2500 agents\/                        # [Claude Code] Subagents\r\n\u2502   \u2502   \u251c\u2500\u2500 sentinel.md\r\n\u2502   \u2502   \u2514\u2500\u2500 code-reviewer.md\r\n\u2502   \u2514\u2500\u2500 skills\/                        # [shared] Both tools read\r\n\u2502       \u251c\u2500\u2500 sec-analysis\/SKILL.md\r\n\u2502       \u2514\u2500\u2500 deployment\/SKILL.md\r\n\u2502\r\n\u251c\u2500\u2500 .github\/\r\n\u2502   \u251c\u2500\u2500 copilot-instructions.md        # [Copilot] Extra instructions\r\n\u2502   \u2514\u2500\u2500 agents\/                        # [Copilot] Custom agents\r\n\u2502       \u251c\u2500\u2500 sentinel.agent.md\r\n\u2502       \u2514\u2500\u2500 code-reviewer.agent.md\r\n\u2502\r\n\u251c\u2500\u2500 .devcontainer\/\r\n\u2502   \u2514\u2500\u2500 devcontainer.json              # [Copilot] MCP config\r\n\u2502\r\n\u251c\u2500\u2500 mcp-servers\/                       # [shared] Server source\r\n\u2502   \u2514\u2500\u2500 guardrail\/\r\n\u2502       \u251c\u2500\u2500 index.js\r\n\u2502       \u2514\u2500\u2500 classifier.js\r\n\u2502\r\n\u2514\u2500\u2500 scripts\/\r\n    \u2514\u2500\u2500 sync-agents.sh                 # [shared] Agent sync<\/code><\/pre>\n<h2>The Bigger Picture: Multi-Agent Orchestration on Azure &#8211; GitHub Copilot CLI<\/h2>\n<p>The key insight: GitHub Copilot CLI is the Azure infrastructure expert. It ships with native Azure MCP tools \u2014 Cosmos DB, App Service, AKS, Key Vault, Bicep schemas, deployment planning \u2014 built in, not bolted on. When you&#8217;re architecting landing zones, writing IaC, or troubleshooting Azure resources, Copilot CLI has first-party knowledge that no other coding agent matches. And it gives you the same Anthropic models available in Claude Code \u2014 Claude Opus 4.6, Sonnet\n4.6,\u00a0 \u2014 alongside GPT-5 and Gemini 3 Pro, all through one subscription.<\/p>\n<ul>\n<li><strong>Rapidly Prototype with Copilot CLI<\/strong> \u2014 deep Azure integration, native MCP tooling, first-party infrastructure\nexpertise<\/li>\n<li><b>Validate with Claude Code <\/b>\u2014 use as a second opinion for prompt engineering, and edge case testing<\/li>\n<\/ul>\n<p>Copilot CLI&#8217;s multi-model access is particularly valuable here. When you&#8217;re building an orchestration pipeline for a fintech client, you don&#8217;t want to discover that your prompts only work well on one model family. Running\u00a0<code>\/fleet<\/code>\u00a0across all three major providers during development catches those issues early \u2014 before they become production incidents.<\/p>\n<h2>What&#8217;s Next<\/h2>\n<ul>\n<li><strong>Shared memory layer<\/strong> \u2014 an MCP server using <strong>Azure AI Search Memory layer<\/strong>\u00a0that both tools connect to for persistent project knowledge, bridging Claude Code&#8217;s MEMORY.md and Copilot&#8217;s built-in memory<\/li>\n<\/ul>\n<p>The agentic coding space is converging. CLAUDE.md and AGENTS.md read each other. Skills directories are cross-compatible. MCP servers are universal. Copilot CLI gives you every frontier model through a single subscription. And the patterns you build locally with both tools translate directly to production multi-agent deployments on Azure AI Foundry. The tools are meeting in the middle \u2014 and developers who ride both waves will move faster than those who pick a side.<\/p>\n<h2>References<\/h2>\n<table>\n<thead>\n<tr>\n<th><span style=\"font-weight: 400;\">Resource<\/span><\/th>\n<th><span style=\"font-weight: 400;\">Link<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>GitHub Copilot CLI \u2014 Getting started<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/docs.github.com\/en\/copilot\/how-tos\/copilot-cli\">docs.github.com\/&#8230;\/copilot-cli<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>GitHub Copilot CLI \u2014 Custom agents<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/docs.github.com\/en\/copilot\/how-tos\/copilot-cli\/customize-copilot\/create-custom-agents-for-cli\">docs.github.com\/&#8230;\/create-custom-agents-for-cli<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>GitHub Copilot CLI \u2014 Custom instructions<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/docs.github.com\/en\/copilot\/how-tos\/copilot-cli\/customize-copilot\/add-custom-instructions\">docs.github.com\/&#8230;\/add-custom-instructions<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>Copilot CLI GA announcement<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/github.blog\/changelog\/2026-02-25-github-copilot-cli-is-now-generally-available\/\">github.blog\/changelog\/2026-02-25-copilot-cli-ga<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>GitHub Copilot CLI \u2014 Available models<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/docs.github.com\/en\/copilot\/how-tos\/copilot-cli\/using-copilot-cli\/change-the-ai-model\">docs.github.com\/&#8230;\/change-the-ai-model<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>Azure AI Foundry \u2014 Platform overview<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/ai-foundry\/\">learn.microsoft.com\/&#8230;\/ai-foundry<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>Microsoft Agent Framework (MAF)<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/devblogs.microsoft.com\/agent-framework\/\">devblogs.microsoft.com\/agent-framework<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>AGENTS.md specification (Linux Foundation)<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/github.com\/agentsmd\/agents.md\">github.com\/agentsmd\/agents.md<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>Model Context Protocol (MCP)<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/modelcontextprotocol.io\/\">modelcontextprotocol.io<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td>Claude Code \u2014 Subagents documentation<\/td>\n<td><span style=\"color: #00ccff;\"><a style=\"color: #00ccff;\" href=\"https:\/\/code.claude.com\/docs\/en\/sub-agents\">code.claude.com\/docs\/en\/sub-agents<\/a><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>And the developers running Claude Code and GitHub Copilot CLI didn&#8217;t notice&#8230; Status Page Says &#8216;Operational.&#8217; Your Subagents Say Otherwise. If you&#8217;re running autonomous agents in any serious capacity, you&#8217;ve experienced this:\u00a0model provider outages aren&#8217;t edge cases \u2014 they&#8217;re part of the operating environment.\u00a0Anthropic has had outages. OpenAI has had outages. Google has had outages. [&hellip;]<\/p>\n","protected":false},"author":207506,"featured_media":2050,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[35,37,1,20,19,134,97,88,89],"tags":[128,98,22],"class_list":["post-2034","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agents","category-ai-foundry","category-azure","category-developer-productivity","category-github-copilot","category-github-copilot-cli","category-mcp-model-context-protocol","category-opinion","category-thought-leadership","tag-azure-ai-search","tag-azure-mcp","tag-github-copilot"],"acf":[],"blog_post_summary":"<p>And the developers running Claude Code and GitHub Copilot CLI didn&#8217;t notice&#8230; Status Page Says &#8216;Operational.&#8217; Your Subagents Say Otherwise. If you&#8217;re running autonomous agents in any serious capacity, you&#8217;ve experienced this:\u00a0model provider outages aren&#8217;t edge cases \u2014 they&#8217;re part of the operating environment.\u00a0Anthropic has had outages. OpenAI has had outages. Google has had outages. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts\/2034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/users\/207506"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/comments?post=2034"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts\/2034\/revisions"}],"predecessor-version":[{"id":2052,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts\/2034\/revisions\/2052"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/media\/2050"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/media?parent=2034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/categories?post=2034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/tags?post=2034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}