{"id":94908,"date":"2026-04-01T08:00:00","date_gmt":"2026-04-01T15:00:00","guid":{"rendered":"https:\/\/github.blog\/?p=94908"},"modified":"2026-04-14T13:28:19","modified_gmt":"2026-04-14T20:28:19","slug":"run-multiple-agents-at-once-with-fleet-in-copilot-cli","status":"publish","type":"post","link":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/","title":{"rendered":"Run multiple agents at once with \/fleet in Copilot CLI"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p>What if <a href=\"https:\/\/github.com\/features\/copilot\/cli?utm_source=blog-cli-fleet-agents-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">GitHub Copilot CLI<\/a> could work on five files at the same time instead of one? That&rsquo;s where <code>\/fleet<\/code> comes in.<\/p>\n\n\n\n<p><code>\/fleet<\/code> is a slash command in Copilot CLI that enables Copilot to simultaneously work with multiple subagents in parallel. Instead of working through tasks sequentially, Copilot now has a behind the scenes orchestrator that plans and breaks your objective into independent work items and dispatches multiple agents to execute them simultaneously. On different files, in different parts of your codebase, all at once.<\/p>\n\n\n\n<p>Want to learn more about how <code>\/fleet<\/code> works, and more importantly, how to use it most effectively? Let&rsquo;s jump in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-it-works\">How it works<\/h2>\n\n\n\n<p>When you run <code>\/fleet<\/code> with a prompt, the behind-the-scenes orchestrator:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Decomposes your task into discrete work items with dependencies.<\/li>\n\n\n\n<li>Identifies which items can run in parallel versus which must wait.<\/li>\n\n\n\n<li>Dispatches independent items as background sub-agents simultaneously.<\/li>\n\n\n\n<li>Polls for completion, then dispatches the next wave.<\/li>\n\n\n\n<li>Verifies outputs and synthesizes any final artifacts.<\/li>\n<\/ol>\n\n\n\n<p>Each sub-agent gets its own context window but shares the same filesystem. They can&rsquo;t talk to each other directly; only the orchestrator coordinates.<\/p>\n\n\n\n<p>Think of it as a project lead who assigns work to a team, checks in on progress, and assembles the final deliverable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-getting-started\">Getting started<\/h2>\n\n\n\n<p>Start fleet mode by sending <code>\/fleet &lt;YOUR OBJECTIVE PROMPT&gt;<\/code>. For example:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code\"><code>\/fleet Refactor the auth module, update tests, and fix the related docs in the folder docs\/auth\/ <\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"\/fleet Refactor the auth module, update tests, and fix the related docs in the folder docs\/auth\/\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>That&rsquo;s it. The orchestrator takes your objective, figures out what can be parallelized, and starts dispatching.<\/p>\n\n\n\n<p>You can also run it non-interactively in your terminal:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code><code>copilot -p \"\/fleet &lt;YOUR TASK&gt;\" --no-ask-user<\/code><\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value='copilot -p \"\/fleet &lt;YOUR TASK&gt;\" --no-ask-user' tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>The <code>--no-ask-user<\/code> flag is required for non-interactive mode, since there&rsquo;s no way to respond to prompts. Now let&rsquo;s look at what makes a good prompt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-write-prompts-that-parallelize-well\">Write prompts that parallelize well<\/h2>\n\n\n\n<p>The quality of your <code>\/fleet<\/code> prompt determines how effectively work gets distributed. The key is giving the orchestrator enough structure to cleanly break down your task.<\/p>\n\n\n\n<p>A good way to do that is being specific about deliverables. Map every work item to a concrete artifact like a file, a test suite, or a section of documentation. Vague prompts lead to sequential execution because the orchestrator can&rsquo;t identify independent pieces.<\/p>\n\n\n\n<p>For example, instead of: <code>\/fleet Build the documentation<\/code>, you could try:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>\/fleet Create docs for the API module: \n\n- docs\/authentication.md covering token flow and examples \n\n- docs\/endpoints.md with request\/response schemas for all REST endpoints \n\n- docs\/errors.md with error codes and troubleshooting steps \n\n- docs\/index.md linking to all three pages (depends on the others finishing first)<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"\/fleet Create docs for the API module: \n\n- docs\/authentication.md covering token flow and examples \n\n- docs\/endpoints.md with request\/response schemas for all REST endpoints \n\n- docs\/errors.md with error codes and troubleshooting steps \n\n- docs\/index.md linking to all three pages (depends on the others finishing first)\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>The second prompt gives the orchestrator four distinct deliverables, three of which can run in parallel, and one that depends on them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-set-explicit-boundaries\">Set explicit boundaries<\/h2>\n\n\n\n<p>Sub-agents work best when they know exactly where their scope starts and ends. When writing your prompt include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>File or module boundaries: Which directories or files each track owns<\/li>\n\n\n\n<li>Constraints: What not to touch (e.g., no test changes, no dependency upgrades)<\/li>\n\n\n\n<li>Validation criteria: Lint, type checks, tests that must pass<\/li>\n<\/ul>\n\n\n\n<p>Here&rsquo;s a prompt that showcases these boundaries:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>\/fleet Implement feature flags in three tracks: \n\n1. API layer: add flag evaluation to src\/api\/middleware\/ and include unit tests that look for successful flag evaluation and tests API endpoints  \n\n2. UI: wire toggle components in src\/components\/flags\/ and introduce no new dependencies \n\n3. Config: add flag definitions to config\/features.yaml  and validate against schema \n\nRun independent tracks in parallel. No changes outside assigned directories. <\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"\/fleet Implement feature flags in three tracks: \n\n1. API layer: add flag evaluation to src\/api\/middleware\/ and include unit tests that look for successful flag evaluation and tests API endpoints  \n\n2. UI: wire toggle components in src\/components\/flags\/ and introduce no new dependencies \n\n3. Config: add flag definitions to config\/features.yaml  and validate against schema \n\nRun independent tracks in parallel. No changes outside assigned directories.\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-declare-dependencies-when-they-exist\">Declare dependencies when they exist<\/h2>\n\n\n\n<p>If one piece of work depends on another, say so. The orchestrator will serialize those items and parallelize the rest. For example:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>\/fleet Migrate the database layer: \n\n1. Write new schema in migrations\/005_users.sql \n\n2. Update the ORM models in src\/models\/user.ts (depends on 1) \n\n3. Update API handlers in src\/api\/users.ts (depends on 2) \n\n4. Write integration tests in tests\/users.test.ts (depends on 2) \n\n Items 3 and 4 can run in parallel after item 2 completes. <\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"\/fleet Migrate the database layer: \n\n1. Write new schema in migrations\/005_users.sql \n\n2. Update the ORM models in src\/models\/user.ts (depends on 1) \n\n3. Update API handlers in src\/api\/users.ts (depends on 2) \n\n4. Write integration tests in tests\/users.test.ts (depends on 2) \n\n Items 3 and 4 can run in parallel after item 2 completes.\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-use-custom-agents-for-different-jobs\">Use custom agents for different jobs<\/h2>\n\n\n\n<p>You can define specialized agents in <code>.github\/agents\/<\/code> and reference them in your <code>\/fleet<\/code> prompt. Each agent can specify its own model, tools, and instructions. Be aware that if you don&rsquo;t specify which model to use, agents will use the current default model.<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code># .github\/agents\/technical-writer.md \n\n--- \n\nname: technical-writer \n\ndescription: Documentation specialist \n\nmodel: claude-sonnet-4 \n\ntools: [\"bash\", \"create\", \"edit\", \"view\"] \n\n--- \n\nYou write clear, concise technical documentation. Follow the project style guide in \/docs\/styleguide.md. <\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value='# .github\/agents\/technical-writer.md \n\n--- \n\nname: technical-writer \n\ndescription: Documentation specialist \n\nmodel: claude-sonnet-4 \n\ntools: [\"bash\", \"create\", \"edit\", \"view\"] \n\n--- \n\nYou write clear, concise technical documentation. Follow the project style guide in \/docs\/styleguide.md.' tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>Then reference the custom agent in your prompt:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>\/fleet Use @technical-writer.md as the agent for all docs tasks and the default agent for code changes. <\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"\/fleet Use @technical-writer.md as the agent for all docs tasks and the default agent for code changes.\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>This is useful when different tracks need different strengths such as using a heavier model for complex logic and a lighter one for boilerplate documentation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-verify-subagents-are-deploying\">How to verify subagents are deploying<\/h2>\n\n\n\n<p>Watch how the orchestrator deploys subagents, it&rsquo;s the fastest way to learn how to write prompts that parallelize well.<\/p>\n\n\n\n<p>Use this quick checklist:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Decomposition appears: Before it starts working, review the plan Copilot shares with you to see if it breaks work into multiple tracks, instead of one long linear plan.<\/li>\n\n\n\n<li>Background task UI confirms activity: Once it begins working, run <code>\/tasks<\/code> to open the tasks dialog and inspect running background tasks.<\/li>\n\n\n\n<li>Parallel progress appears: Updates reference separate tracks moving at the same time.<\/li>\n<\/ul>\n\n\n\n<p>If the fleet doesn&rsquo;t seem to be parallelizing, try stopping Copilot&rsquo;s work and asking for an explicit decomposition:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>Decompose this into independent tracks first, then execute tracks in parallel. Report each track separately with status and blockers. <\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"Decompose this into independent tracks first, then execute tracks in parallel. Report each track separately with status and blockers.\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-avoiding-common-pitfalls\">Avoiding common pitfalls<\/h2>\n\n\n\n<p>Fleet is powerful, but a few gotchas are worth knowing upfront.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-partition-your-files\">Partition your files<\/h3>\n\n\n\n<p>Sub-agents share a filesystem with no file locking. If two agents write to the same file, the last one to finish wins&mdash;silently. No error, no merge, just an overwrite.<\/p>\n\n\n\n<p>The fix is to assign each agent distinct files in your prompt. If multiple agents need to contribute to a single file, consider having each write to a temporary path and let the orchestrator merge them at the end. Or set an explicit order for the agents to follow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-keep-prompts-self-contained\">Keep prompts self-contained<\/h3>\n\n\n\n<p>Sub-agents can&rsquo;t see the orchestrator&rsquo;s conversation history. When the orchestrator dispatches a sub-agent, it passes along a prompt, but that prompt needs to include everything the sub-agent needs. If you&rsquo;ve already gathered useful context earlier in the session, make sure your <code>\/fleet<\/code> prompt includes it (or references files the sub-agents can read).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-steering-a-fleet-in-progress\">Steering a fleet in progress<\/h3>\n\n\n\n<p>After dispatching, you can send follow-up prompts to guide the orchestrator:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Prioritize failing tests first, then complete remaining tasks.<\/code><\/li>\n\n\n\n<li><code>List active sub-agents and what each is currently doing.<\/code><\/li>\n\n\n\n<li><code>Mark done only when lint, type check, and all tests pass.<\/code><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-when-to-use-fleet-and-when-not-to\">When to use <code>\/fleet<\/code> (and when not to)<\/h2>\n\n\n\n<p><code>\/fleet<\/code> shines when your task has natural parallelism&mdash;multiple files, independent modules, or separable concerns. It&rsquo;s particularly effective for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Refactoring across multiple files simultaneously.<\/li>\n\n\n\n<li>Generating documentation for several components at once.<\/li>\n\n\n\n<li>Implementing a feature that spans API, UI, and tests.<\/li>\n\n\n\n<li>Running independent code modifications that don&rsquo;t share state.<\/li>\n<\/ul>\n\n\n\n<p>For strictly linear, single-file work, regular Copilot CLI prompts are simpler and just as fast. Fleet adds coordination overhead, so it pays off when there&rsquo;s real work to distribute.<\/p>\n\n\n\n<p><code>\/fleet<\/code> is most useful when you treat it like a team, not a magic trick. Start small. Pick a task with clear outputs, clean file boundaries, and obvious parallelism. See how the orchestrator decomposes the work, where it helps, and where it gets in the way. As you get more comfortable, push it further with larger refactors, multi&#8209;track features, or docs and tests in parallel. The fastest way to learn when <code>\/fleet<\/code> pays off is to try it on real work and adjust your prompts based on what you see.<\/p>\n\n\n\n<div class=\"wp-block-group post-content-cta has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><a href=\"https:\/\/github.com\/features\/copilot\/cli?utm_source=blog-cli-fleet-agents-cta&amp;utm_medium=blog&amp;utm_campaign=dev-pod-copilot-cli-2026\">Get started with GitHub Copilot CLI &gt;<\/a><\/p>\n<\/div>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>\/fleet lets Copilot CLI dispatch multiple agents in parallel. Learn how to write prompts that split work across files, declare dependencies, and avoid common pitfalls.<\/p>\n","protected":false},"author":2385,"featured_media":94075,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"yes","_gh_post_is_no_robots":"","_gh_post_is_featured":"yes","_gh_post_is_excluded":"","_gh_post_is_unlisted":"","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/CLI-Square.jpg","_gh_post_sq_img_id":"93504","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"","_gh_post_recirc_hide":"","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"","_gh_post_additional_query_params":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"_links_to":"","_links_to_target":""},"categories":[3293,3295],"tags":[2535,3754],"coauthors":[3765,3832],"class_list":["post-94908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-and-ml","category-github-copilot","tag-github-copilot","tag-github-copilot-cli"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Run multiple agents at once with \/fleet in Copilot CLI - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"\/fleet lets Copilot CLI dispatch multiple agents in parallel. Learn how to write prompts that split work across files and avoid common pitfalls.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Run multiple agents at once with \/fleet in Copilot CLI\" \/>\n<meta property=\"og:description\" content=\"\/fleet lets Copilot CLI dispatch multiple agents in parallel. Learn how to write prompts that split work across files and avoid common pitfalls.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-01T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-14T20:28:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2026\/02\/554396112-02305897-302e-435b-862b-616faea6a7f5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2064\" \/>\n\t<meta property=\"og:image:height\" content=\"1076\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Matt Nigh, Brian LaFlamme\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matt Nigh, Brian LaFlamme\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/\"},\"author\":{\"name\":\"Matt Nigh\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/16b279e11e2faa939813d4eb7f213a01\"},\"headline\":\"Run multiple agents at once with \\\/fleet in Copilot CLI\",\"datePublished\":\"2026-04-01T15:00:00+00:00\",\"dateModified\":\"2026-04-14T20:28:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/\"},\"wordCount\":1007,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076\",\"keywords\":[\"GitHub Copilot\",\"GitHub Copilot CLI\"],\"articleSection\":[\"AI &amp; ML\",\"GitHub Copilot\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/\",\"name\":\"Run multiple agents at once with \\\/fleet in Copilot CLI - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076\",\"datePublished\":\"2026-04-01T15:00:00+00:00\",\"dateModified\":\"2026-04-14T20:28:19+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/16b279e11e2faa939813d4eb7f213a01\"},\"description\":\"\\\/fleet lets Copilot CLI dispatch multiple agents in parallel. Learn how to write prompts that split work across files and avoid common pitfalls.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076\",\"width\":2064,\"height\":1076,\"caption\":\"Copilot CLI welcome screen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI &amp; ML\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GitHub Copilot\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/github-copilot\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Run multiple agents at once with \\\/fleet in Copilot CLI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/16b279e11e2faa939813d4eb7f213a01\",\"name\":\"Matt Nigh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67061545f9c1a086594f84e9f8f7cf9ba6b33ad1b41c27e61cdf2e707b460af7?s=96&d=mm&r=g4d8a1be63d169450c2f86b3af01a465d\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67061545f9c1a086594f84e9f8f7cf9ba6b33ad1b41c27e61cdf2e707b460af7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67061545f9c1a086594f84e9f8f7cf9ba6b33ad1b41c27e61cdf2e707b460af7?s=96&d=mm&r=g\",\"caption\":\"Matt Nigh\"},\"description\":\"Program Manager Director, I lead the AI for Everyone program at GitHub.\",\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/mattnigh\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Run multiple agents at once with \/fleet in Copilot CLI - The GitHub Blog","description":"\/fleet lets Copilot CLI dispatch multiple agents in parallel. Learn how to write prompts that split work across files and avoid common pitfalls.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/","og_locale":"en_US","og_type":"article","og_title":"Run multiple agents at once with \/fleet in Copilot CLI","og_description":"\/fleet lets Copilot CLI dispatch multiple agents in parallel. Learn how to write prompts that split work across files and avoid common pitfalls.","og_url":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/","og_site_name":"The GitHub Blog","article_published_time":"2026-04-01T15:00:00+00:00","article_modified_time":"2026-04-14T20:28:19+00:00","og_image":[{"width":2064,"height":1076,"url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/02\/554396112-02305897-302e-435b-862b-616faea6a7f5.png","type":"image\/png"}],"author":"Matt Nigh, Brian LaFlamme","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Matt Nigh, Brian LaFlamme","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/#article","isPartOf":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/"},"author":{"name":"Matt Nigh","@id":"https:\/\/github.blog\/#\/schema\/person\/16b279e11e2faa939813d4eb7f213a01"},"headline":"Run multiple agents at once with \/fleet in Copilot CLI","datePublished":"2026-04-01T15:00:00+00:00","dateModified":"2026-04-14T20:28:19+00:00","mainEntityOfPage":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/"},"wordCount":1007,"image":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/02\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076","keywords":["GitHub Copilot","GitHub Copilot CLI"],"articleSection":["AI &amp; ML","GitHub Copilot"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/","url":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/","name":"Run multiple agents at once with \/fleet in Copilot CLI - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/02\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076","datePublished":"2026-04-01T15:00:00+00:00","dateModified":"2026-04-14T20:28:19+00:00","author":{"@id":"https:\/\/github.blog\/#\/schema\/person\/16b279e11e2faa939813d4eb7f213a01"},"description":"\/fleet lets Copilot CLI dispatch multiple agents in parallel. Learn how to write prompts that split work across files and avoid common pitfalls.","breadcrumb":{"@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/#primaryimage","url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/02\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076","contentUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/02\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076","width":2064,"height":1076,"caption":"Copilot CLI welcome screen"},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/run-multiple-agents-at-once-with-fleet-in-copilot-cli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"AI &amp; ML","item":"https:\/\/github.blog\/ai-and-ml\/"},{"@type":"ListItem","position":3,"name":"GitHub Copilot","item":"https:\/\/github.blog\/ai-and-ml\/github-copilot\/"},{"@type":"ListItem","position":4,"name":"Run multiple agents at once with \/fleet in Copilot CLI"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/github.blog\/#\/schema\/person\/16b279e11e2faa939813d4eb7f213a01","name":"Matt Nigh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/67061545f9c1a086594f84e9f8f7cf9ba6b33ad1b41c27e61cdf2e707b460af7?s=96&d=mm&r=g4d8a1be63d169450c2f86b3af01a465d","url":"https:\/\/secure.gravatar.com\/avatar\/67061545f9c1a086594f84e9f8f7cf9ba6b33ad1b41c27e61cdf2e707b460af7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/67061545f9c1a086594f84e9f8f7cf9ba6b33ad1b41c27e61cdf2e707b460af7?s=96&d=mm&r=g","caption":"Matt Nigh"},"description":"Program Manager Director, I lead the AI for Everyone program at GitHub.","url":"https:\/\/github.blog\/author\/mattnigh\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/02\/554396112-02305897-302e-435b-862b-616faea6a7f5.png?fit=2064%2C1076","jetpack_shortlink":"https:\/\/wp.me\/pamS32-oGM","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/94908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/2385"}],"replies":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/comments?post=94908"}],"version-history":[{"count":5,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/94908\/revisions"}],"predecessor-version":[{"id":95322,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/94908\/revisions\/95322"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media\/94075"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=94908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/categories?post=94908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/tags?post=94908"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=94908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}