[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"tool-github-copilot-coding-agent-en":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":34,"cover":59,"og":60,"expertise":61,"locales":62,"lang":63,"title":66,"description":67,"coverAlt":68,"url":52,"pricing":69,"kind":9,"metaTitle":70,"takeaways":71,"faq":77,"toc":96,"blocks":121,"others":473},"github-copilot-coding-agent","2026-08-10",10,"agents",[9,10,11,12,13],"Coding agent","Pull requests","GitHub Actions","AI credits","Code review",[15,16,17,18,19,20,21],"github copilot coding agent","github copilot cloud agent","copilot coding agent limitations","github copilot pricing ai credits","github copilot vs claude code","copilot agent tasks api","coding agent pull request review",[23,26,28,31],{"name":24,"url":25},"GitHub Copilot","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGitHub_Copilot",{"name":11,"url":27},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGitHub_Actions",{"name":29,"url":30},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPull_request",{"name":32,"url":33},"Static application security testing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStatic_application_security_testing",[35,38,41,44,47,50,53,56],{"title":36,"url":37},"GitHub Docs: GitHub Copilot on GitHub.com, workflow and limitations","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Fabout-cloud-agent",{"title":39,"url":40},"GitHub Docs: Application card, GitHub Copilot Agents","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fresponsible-use\u002Fcopilot-coding-agent",{"title":42,"url":43},"GitHub Docs: Plans for GitHub Copilot, prices and AI credits","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fget-started\u002Fplans",{"title":45,"url":46},"GitHub Docs: Using Copilot cloud agent via the REST and GraphQL API","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fuse-copilot-agents\u002Fcloud-agent\u002Fuse-cloud-agent-via-the-api",{"title":48,"url":49},"GitHub Docs: Using Copilot cloud agent from the GitHub CLI","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fuse-copilot-agents\u002Fcloud-agent\u002Fuse-cloud-agent-from-cli",{"title":51,"url":52},"GitHub Copilot product page: plans, privacy and FAQ","https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot",{"title":54,"url":55},"Anthropic: Claude Code product page","https:\u002F\u002Fclaude.com\u002Fproduct\u002Fclaude-code",{"title":57,"url":58},"OpenAI: Codex CLI documentation","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcli","\u002Fimages\u002Fblog\u002Fgithub-copilot-coding-agent\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgithub-copilot-coding-agent\u002Fog.jpg","ai-engineer",[63,64,65],"en","de","hu","GitHub Copilot coding agent: a review of the pull request agent","GitHub's cloud coding agent assigns itself an issue and opens a pull request. What the 59-minute session limit, AI credits and the review duty mean in production.","Diagram: an issue assigned to the cloud agent, an ephemeral Actions runner, security scans, a signed commit on a copilot branch and a pull request for review.","From $10 per user and month","GitHub Copilot coding agent, reviewed · Balázs Csorba",[72,73,74,75,76],"Copilot cloud agent, the current name for the coding agent, takes a task as an issue or a chat prompt, works in an ephemeral GitHub Actions environment and opens a pull request. The pull request is the product, not a side effect.","The constraints are documented and hard: 59 minutes of execution per session that cannot be extended, one repository, one branch, one pull request per task, and no access to Actions secrets outside the copilot environment.","Pricing is a seat price plus metered AI credits at one cent each. Completions are unlimited on every paid plan; chat, agents and the CLI are not, and a long agent session costs far more than a chat question.","The session logs are the under-used feature. Every agent commit links to them, they record which tools ran, and Copilot Chat can be asked to explain a pull request by pulling them into the conversation.","Read it as a queue processor with a reviewer attached, not as an autonomous colleague. That framing is what makes the 59-minute ceiling and the draft pull request acceptable instead of frustrating.",[78,81,84,87,90,93],{"q":79,"a":80},"What is GitHub Copilot coding agent?","It is an autonomous coding agent that runs on GitHub rather than on a developer's machine. You assign it a GitHub issue or start a task from Copilot Chat, the agents panel, the REST API, the GitHub CLI or an MCP server. It clones the repository into an ephemeral GitHub Actions environment, plans, edits files, runs tests and linters, and opens a draft pull request. The documentation now calls this surface the Copilot cloud agent.",{"q":82,"a":83},"How long can a Copilot coding agent session run?","GitHub documents a maximum execution time of 59 minutes per session, and states that the limit cannot be extended or bypassed. If a task needs longer the session times out and stops. The timeout-minutes setting in copilot-setup-steps.yml can only shorten the ceiling, never raise it, so the remedy is a smaller task.",{"q":85,"a":86},"What do Copilot AI credits cost?","One GitHub AI credit is 0.01 US dollars. Copilot Pro at 10 dollars includes 1,000 base credits plus a 500-credit flex allotment, Pro+ at 39 dollars includes 3,900 plus 3,100, and Max at 100 dollars includes 10,000 plus 10,000. Inline code completions and next edit suggestions do not consume credits and stay unlimited on every paid plan; chat, agents, the CLI and Spaces do consume them.",{"q":88,"a":89},"Can the agent push to my main branch or access my secrets?","No. Pushes are only allowed to branches beginning with copilot\u002F, so the agent cannot write to a default branch directly. Workflows triggered by its pull requests require approval from someone with repository write access. It also has no access to Actions organisation or repository secrets; only secrets and variables explicitly added to the copilot environment are passed in.",{"q":91,"a":92},"Is Copilot coding agent available on GitHub Enterprise Server?","No. GitHub's plans documentation states that Copilot is not currently available for GitHub Enterprise Server. The cloud agent also only works with repositories hosted on GitHub, so a self-hosted GitLab, Gerrit or similar codebase gets nothing from it.",{"q":94,"a":95},"Should I use it instead of a local coding agent?","Use it for queued, well-specified work on github.com: dependency upgrades, test backfills, documentation, first-pass fixes for security alerts. Use a local terminal agent for anything interactive, because the round trip here is measured in minutes and can only be steered by commenting on the pull request.",[97,100,103,106,109,112,115,118],{"id":98,"title":99},"what-it-is","What it is",{"id":101,"title":102},"how-it-works","How it works",{"id":104,"title":105},"where-it-breaks","Where it breaks",{"id":107,"title":108},"getting-started","Getting started",{"id":110,"title":111},"pricing","Pricing and credits",{"id":113,"title":114},"alternatives","Alternatives",{"id":116,"title":117},"verdict","Verdict",{"id":119,"title":120},"sources","Sources",[122,126,129,132,140,160,161,168,177,180,181,184,198,201,211,220,221,224,226,274,290,291,294,359,362,363,366,421,424,425,428,441,445,446],{"type":123,"content":124},"paragraph",[125],"GITHUB COPILOT CODING AGENT is an autonomous coding agent that lives on github.com. It takes a task as an issue or a chat prompt, works on it inside an ephemeral GitHub Actions environment, and opens a pull request with the result. The documentation now calls this surface the Copilot cloud agent, which is a better name: the pull request is the whole product. As a review, it is the most tightly integrated coding agent in existence, and that integration is both why it delivers work people actually merge and why it is hard to argue with on cost.",{"type":123,"content":127},[128],"It is not an IDE feature and not a local agent. Nothing runs on a developer's machine: the agent gets its own runner, its own branch, its own firewall. That makes it the right shape for a queue — dependency bumps, test backfills, documentation sweeps, first-pass fixes for security alerts — and the wrong shape for the tight loop where someone wants to steer a single function signature. The [harness engineering trade-offs](\u002Fblog\u002Fharness-engineering-coding-agents) are the same model class with opposite ergonomics.",{"type":130,"level":131,"id":98,"text":99},"heading",2,{"type":123,"content":133},[134,135,139],"The surface is deliberately small. A task arrives as an assigned issue, from the agents panel, from Copilot Chat, from the REST API, from the GitHub CLI or from an MCP server. The agent clones one repository, plans, edits files, runs tests and linters, and pushes to a branch it created. That contract is enforced rather than requested: pushes are only allowed to branches beginning with ",{"tag":136,"children":137},"code",[138],"copilot\u002F",", workflows triggered by its pull requests need approval from someone with write access, and it cannot reach other repositories in the same run.",{"type":141,"ordered":142,"items":143},"list",false,[144,146,148,150,152,154],[145],"One repository per session. Cross-repository changes are impossible in a single run, so a codebase split across several repos needs a person in the middle.",[147],"One branch and one pull request per task. Work that genuinely needs two pull requests means two tasks and two reviews.",[149],"A hard ceiling of 59 minutes of execution per session, which the documentation states cannot be extended or bypassed.",[151],"Commits are authored by Copilot with the requesting human as co-author, they are signed, and each commit message links to the session logs.",[153],"CodeQL, secret scanning and dependency analysis run against the generated code during the session, and the agent attempts to resolve findings before pushing.",[155,156,159],"No access to Actions secrets. Only secrets and variables explicitly added to the ",{"tag":136,"children":157},[158],"copilot"," environment are passed in.",{"type":130,"level":131,"id":101,"text":102},{"type":123,"content":162},[163,164,167],"Four server-side steps. The task is combined with repository context and sent to a GitHub-hosted model; the model plans and edits inside the ephemeral environment; tests and linters run there; the result is committed and pushed, and the pull request description becomes the session summary. After that the agent stays available: a review comment, or a mention of ",{"tag":136,"children":165},[166],"@copilot",", is fed back in and produces another commit.",{"type":169,"attrs":170,"inner":174,"caption":175},"diagram",{"viewBox":171,"role":172,"aria-labelledby":173},"0 0 720 360","img","gcca-t gcca-d","\u003Ctitle id=\"gcca-t\">Copilot cloud agent: from issue to pull request\u003C\u002Ftitle>\u003Cdesc id=\"gcca-d\">A task arrives as an assigned issue, from the agents panel, from the REST API or CLI, or from an automation. In an ephemeral GitHub Actions runner on one repository, the agent plans, edits, runs tests and linters, and is scanned by CodeQL and secret scanning. The result is a signed commit on a copilot branch, a draft pull request whose commit links the session logs, and a human review that can send the agent back to work.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Copilot cloud agent: issue to pull request\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">docs.github.com\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"56\" class=\"d-label\">TASK IN\u003C\u002Ftext>\u003Crect x=\"20\" y=\"70\" width=\"150\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"95\" y=\"96\" text-anchor=\"middle\" class=\"d-text\">Issue assigned\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"114\" text-anchor=\"middle\" class=\"d-small\">comment on a PR\u003C\u002Ftext>\u003Crect x=\"195\" y=\"70\" width=\"150\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"270\" y=\"96\" text-anchor=\"middle\" class=\"d-text\">Agents panel\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"114\" text-anchor=\"middle\" class=\"d-small\">chat, IDE, mobile\u003C\u002Ftext>\u003Crect x=\"370\" y=\"70\" width=\"150\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"445\" y=\"96\" text-anchor=\"middle\" class=\"d-text\">REST or CLI\u003C\u002Ftext>\u003Ctext x=\"445\" y=\"114\" text-anchor=\"middle\" class=\"d-small\">agent-task create\u003C\u002Ftext>\u003Crect x=\"545\" y=\"70\" width=\"150\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"620\" y=\"96\" text-anchor=\"middle\" class=\"d-text\">Automation\u003C\u002Ftext>\u003Ctext x=\"620\" y=\"114\" text-anchor=\"middle\" class=\"d-small\">schedule or event\u003C\u002Ftext>\u003Cpath d=\"M95 124 V136\" class=\"d-line\" \u002F>\u003Cpath d=\"M95 146 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M270 124 V136\" class=\"d-line\" \u002F>\u003Cpath d=\"M270 146 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M445 124 V136\" class=\"d-line\" \u002F>\u003Cpath d=\"M445 146 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M620 124 V136\" class=\"d-line\" \u002F>\u003Cpath d=\"M620 146 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"20\" y=\"160\" class=\"d-label\">EPHEMERAL RUNNER, ONE REPOSITORY\u003C\u002Ftext>\u003Crect x=\"20\" y=\"174\" width=\"150\" height=\"58\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"95\" y=\"200\" text-anchor=\"middle\" class=\"d-text\">Plan\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"219\" text-anchor=\"middle\" class=\"d-small\">read the code\u003C\u002Ftext>\u003Crect x=\"195\" y=\"174\" width=\"150\" height=\"58\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"270\" y=\"200\" text-anchor=\"middle\" class=\"d-text\">Edit\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"219\" text-anchor=\"middle\" class=\"d-small\">write files\u003C\u002Ftext>\u003Crect x=\"370\" y=\"174\" width=\"150\" height=\"58\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"445\" y=\"200\" text-anchor=\"middle\" class=\"d-text\">Verify\u003C\u002Ftext>\u003Ctext x=\"445\" y=\"219\" text-anchor=\"middle\" class=\"d-small\">tests, linters\u003C\u002Ftext>\u003Crect x=\"545\" y=\"174\" width=\"150\" height=\"58\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"620\" y=\"200\" text-anchor=\"middle\" class=\"d-text\">Scan\u003C\u002Ftext>\u003Ctext x=\"620\" y=\"219\" text-anchor=\"middle\" class=\"d-small\">CodeQL, secrets\u003C\u002Ftext>\u003Cpath d=\"M176 203 H183\" class=\"d-line\" \u002F>\u003Cpath d=\"M193 203 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M351 203 H358\" class=\"d-line\" \u002F>\u003Cpath d=\"M368 203 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M526 203 H533\" class=\"d-line\" \u002F>\u003Cpath d=\"M543 203 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"20\" y=\"252\" class=\"d-label\">RESULT ON GITHUB\u003C\u002Ftext>\u003Crect x=\"20\" y=\"266\" width=\"210\" height=\"62\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"125\" y=\"293\" text-anchor=\"middle\" class=\"d-text\">Signed commit\u003C\u002Ftext>\u003Ctext x=\"125\" y=\"313\" text-anchor=\"middle\" class=\"d-small\">copilot\u002F branch, human co-author\u003C\u002Ftext>\u003Crect x=\"255\" y=\"266\" width=\"210\" height=\"62\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"360\" y=\"293\" text-anchor=\"middle\" class=\"d-text\">Draft pull request\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"313\" text-anchor=\"middle\" class=\"d-small\">commit links the session log\u003C\u002Ftext>\u003Crect x=\"490\" y=\"266\" width=\"205\" height=\"62\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"592\" y=\"293\" text-anchor=\"middle\" class=\"d-text\">Human review\u003C\u002Ftext>\u003Ctext x=\"592\" y=\"313\" text-anchor=\"middle\" class=\"d-small\">merge, or comment to iterate\u003C\u002Ftext>\u003Cpath d=\"M236 297 H243\" class=\"d-line\" \u002F>\u003Cpath d=\"M253 297 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M471 297 H478\" class=\"d-line\" \u002F>\u003Cpath d=\"M488 297 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"20\" y=\"348\" class=\"d-small\">59 minutes per session &#183; one repository &#183; one branch &#183; one pull request\u003C\u002Ftext>",[176],"Everything between the task and the merge happens on GitHub, which is why the same agent is cheap to trust and expensive to steer.",{"type":123,"content":178},[179],"The session logs are the part teams under-use. Every commit links to them, they record which tools ran, and Copilot Chat on github.com can be asked what a pull request changed and why, because it pulls the logs into the conversation. When an agent-authored pull request looks wrong, the logs are often more informative than the diff: they show which test ran, which failed twice, and what the agent decided to do instead.",{"type":130,"level":131,"id":104,"text":105},{"type":123,"content":182},[183],"The honest list is longer than the feature list. These are documented limits rather than bugs found in the wild, and they are the ones that decide whether a workflow survives a real backlog.",{"type":141,"ordered":142,"items":185},[186,188,190,192,194,196],[187],"The 59-minute ceiling is the one that hurts. Long migrations and multi-step refactors have to be cut into tasks that each fit, which turns one ticket into three tickets and three reviews.",[189],"The agent only responds to users with repository write access. Comments from outside the repository never reach it, which cuts both ways: a sensible default, and a dead end for external contributors.",[191],"Repository rules can block it outright. A rule that restricts commits to a fixed author list, for example, prevents it from opening or updating pull requests unless an administrator adds Copilot as a bypass actor.",[193],"GitHub-hosted repositories only. A self-hosted GitLab, Gerrit or other code hosting platform gets nothing, and the documentation says so plainly.",[195],"Not available on GitHub Enterprise Server. If that is the deployment target the answer is no, whatever the seat count.",[197],"It can generate code matching public repositories even when the policy to block such suggestions is set. When that happens it shows a reference in the session log rather than a code reference on the suggestion.",{"type":123,"content":199},[200],"Data handling differs by plan, and the difference matters during procurement. Prompts and suggestions sent from an IDE are not retained; prompts and suggestions from chat, mobile and CLI sessions are retained for 28 days. On Business and Enterprise they are not used to train models. On Free, Pro and Pro+ they may be, since 24 April, unless the account opts out. A team reading only the marketing page will not see that line, so check the plan before a rollout rather than after.",{"type":141,"ordered":142,"items":202},[203,205,207,209],[204],"A firewall is enabled by default on the ephemeral environment and blocks outbound connections to hosts that are not allowlisted. It can be customised or switched off, and widening it is the first thing to review when someone asks for it.",[206],"Only the repository in the task is reachable. Other repositories in the same organisation are not.",[208],"The agent filters hidden characters in issue bodies and comments, which closes the cheapest prompt-injection channel.",[210],"Custom instructions, MCP servers and lifecycle hooks are configurable per repository or per organisation, so validation can run inside the agent loop rather than only in CI afterwards.",{"type":212,"variant":213,"title":214,"body":215},"callout","warn","Prompt injection is still the open problem",[216,218],[217],"An agent that reads issue bodies and pull request comments is an injection target, and the documented mitigations are mitigation, not a fix. The application card states plainly that the cloud agent may generate semantically wrong or insecure code, and that it may produce code matching public repositories even when matching is set to be blocked.",[219],"The [lethal trifecta pattern](\u002Fblog\u002Fprompt-injection-lethal-trifecta-patterns) applies unchanged: an issue body that quotes a third-party page is enough. Keep the writable branch short-lived, keep branch protection on, and do not widen the firewall because one task needed it.",{"type":130,"level":131,"id":107,"text":108},{"type":123,"content":222},[223],"The smallest useful integration is the agent tasks API: one POST, then a task id to poll. It is in public preview, it accepts only user-to-server tokens, and installation tokens are not supported — which rules out a GitHub App that triggers agent runs from a server-side webhook without a human token in the path.",{"type":136,"code":225},"# Start a task: only a user-to-server token works here\ncurl -X POST \\\n  -H \"Accept: application\u002Fvnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  https:\u002F\u002Fapi.github.com\u002Fagents\u002Frepos\u002Focto-org\u002Focto-repo\u002Ftasks \\\n  -d '{\n    \"prompt\": \"Fix the login button on the homepage\",\n    \"base_ref\": \"main\",\n    \"create_pull_request\": true\n  }'\n\n# Poll until the state is completed, failed or timed_out\ncurl -H \"Accept: application\u002Fvnd.github+json\" \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  https:\u002F\u002Fapi.github.com\u002Fagents\u002Frepos\u002Focto-org\u002Focto-repo\u002Ftasks\u002F$TASK_ID",{"type":123,"content":227},[228,229,232,233,236,237,236,240,236,243,236,246,236,249,236,252,255,256,259,260,262,263,236,266,269,270,273],"The response carries a ",{"tag":136,"children":230},[231],"state"," field with ",{"tag":136,"children":234},[235],"queued",", ",{"tag":136,"children":238},[239],"in_progress",{"tag":136,"children":241},[242],"completed",{"tag":136,"children":244},[245],"failed",{"tag":136,"children":247},[248],"idle",{"tag":136,"children":250},[251],"waiting_for_user",{"tag":136,"children":253},[254],"timed_out"," or ",{"tag":136,"children":257},[258],"cancelled",", and that list is worth wiring into whatever calls it. ",{"tag":136,"children":261},[251]," in particular is the one a naive poller gets wrong: the agent has stopped to ask a question, and nothing moves until a human answers on the pull request. The same work is available locally as ",{"tag":136,"children":264},[265],"gh agent-task create",{"tag":136,"children":267},[268],"gh agent-task list"," and ",{"tag":136,"children":271},[272],"gh agent-task view --log"," in GitHub CLI 2.80.0 and later, where the command set is itself a public preview.",{"type":212,"variant":275,"title":276,"body":277},"note","Size the task, not the agent",[278,280],[279],"Every assigned issue is read as a prompt, so the ticket is the prompt. GitHub's own guidance is to include a clear description, complete acceptance criteria and a hint at which files change. A one-line issue produces a wide, speculative diff.",[281,282,285,286,289],"If the work needs more than 59 minutes, remember that ",{"tag":136,"children":283},[284],"timeout-minutes"," in ",{"tag":136,"children":287},[288],"copilot-setup-steps.yml"," can only shorten the ceiling. The fix is a smaller task.",{"type":130,"level":131,"id":110,"text":111},{"type":123,"content":292},[293],"Copilot is priced by seat, but agents burn a metered currency on top: GitHub AI credits, one credit worth 0.01 US dollars. Inline completions and next-edit suggestions do not use credits and stay unlimited on every paid plan; chat, agents, the CLI and Spaces do. The credit allowance, not the seat price, is what a team of agent-first developers actually manages.",{"type":295,"head":296,"rows":304},"table",[297,299,301,302],[298],"Plan",[300],"Price per month",[12],[303],"What it adds",[305,314,323,332,341,350],[306,308,310,312],[307],"Free",[309],"$0",[311],"A small allowance",[313],"2,000 completions, limited agents, auto model selection",[315,317,319,321],[316],"Pro",[318],"$10",[320],"1,000 base plus 500 flex",[322],"Cloud agent, code review, third-party agents",[324,326,328,330],[325],"Pro+",[327],"$39",[329],"3,900 base plus 3,100 flex",[331],"Premium models, roughly four times Pro's usage",[333,335,337,339],[334],"Max",[336],"$100",[338],"10,000 base plus 10,000 flex",[340],"Priority model access, about 2.9 times Pro+",[342,344,346,348],[343],"Business",[345],"$19 per seat",[347],"1,900 per user",[349],"Central policy, budgets, IP indemnity",[351,353,355,357],[352],"Enterprise",[354],"$39 per seat",[356],"3,900 per user",[358],"Everything in Business plus pooled credits",{"type":123,"content":360},[361],"Two pricing details decide whether this is affordable. First, agents are the expensive part of the credit economy: a long session on a frontier model across many files costs far more than a chat question, so a repository where every issue is auto-assigned will exhaust a Pro allowance within a week. Second, past the allowance there are three choices — wait for the reset, switch to a cheaper model, or enable paid usage with a dollar budget — and on Business and Enterprise the administrator, not the developer, makes that call. Since 1 June 2026 code review workflows also consume GitHub Actions minutes, so the runner bill moves with it.",{"type":130,"level":131,"id":113,"text":114},{"type":123,"content":364},[365],"The comparison that matters is not with other cloud agents, because there are very few. It is with the local-first coding agents that run in a developer's terminal. They share the model catalogue and the MCP story; they differ in where they execute and who owns the output.",{"type":295,"head":367,"rows":376},[368,370,372,374],[369],"",[371],"Copilot cloud agent",[373],"Claude Code",[375],"OpenAI Codex CLI",[377,386,394,403,412],[378,380,382,384],[379],"Execution model",[381],"Ephemeral GitHub Actions environment",[383],"Local terminal, talks to model APIs directly",[385],"Local terminal, with codex cloud as a hand-off",[387,389,391,393],[388],"Where the diff appears",[390],"Draft pull request on a copilot\u002F branch",[392],"Working tree, you commit",[392],[395,397,399,401],[396],"Stated session limit",[398],"59 minutes, cannot be extended",[400],"No published time cap; multi-hour runs described",[402],"No published time cap",[404,406,408,410],[405],"Model choice",[407],"GitHub-hosted catalogue, set per task",[409],"Anthropic models, Claude plans or API",[411],"OpenAI models, ChatGPT plan or API",[413,415,417,419],[414],"Where the code runs",[416],"Already on GitHub, nothing local",[418],"Your machine, no remote code index",[420],"Your machine unless moved to codex cloud",{"type":123,"content":422},[423],"The trade is not close on ergonomics. A local agent answers in seconds and can be interrupted mid-thought; this one returns a pull request in minutes and can only be steered by comment. What the local agents do not have is the pull request as the delivery format, branch protection, the scanning hooks and a session log a compliance team can read afterwards. Teams that already live in GitHub issues get more out of Copilot than teams that live in a terminal, and that is the only serious reason to pick it. More on the [tool-by-tool comparison](\u002Fblog\u002Fagents-md-skills-mcp-cli-decision-matrix) and the [sandboxing checklist](\u002Fblog\u002Fsandboxing-coding-agents-ci-checklist).",{"type":130,"level":131,"id":116,"text":117},{"type":123,"content":426},[427],"Copilot cloud agent is worth the seat price for exactly one job: draining a well-written queue on github.com without a developer babysitting each session. It is a queue processor with a reviewer attached, not an autonomous colleague. Read it that way and it delivers; expect a pair programmer and it disappoints every time.",{"type":141,"ordered":429,"items":430},true,[431,433,435,437,439],[432],"Use it for backlog items with objective acceptance criteria: dependency upgrades, generated tests, documentation, security alert fixes, first-pass refactors.",[434],"Do not use it for architecture, for changes that span repositories, or for anything the 59-minute ceiling would cut in half.",[436],"Keep branch protection, code owners and required reviewers. Its pull requests are drafts, which is a convention rather than an enforcement.",[438],"Budget on credits rather than seats, and set the paid-usage policy deliberately in both directions before the first overrun.",[440],"Budget review time. The bottleneck moves from writing the diff to reading it, which is a real saving and a real cost at the same time; the wider version of that argument is in [the AI-generated pull request review bottleneck](\u002Fblog\u002Fai-generated-pr-review-bottleneck).",{"type":442,"content":443},"quote",[444],"You should always review and test the content generated by the agent to ensure that it meets your requirements and is free of errors or security concerns prior to merging.",{"type":130,"level":131,"id":119,"text":120},{"type":141,"ordered":429,"items":447},[448,452,455,458,461,464,467,470],[449],{"tag":450,"href":37,"children":451},"a",[36],[453],{"tag":450,"href":40,"children":454},[39],[456],{"tag":450,"href":43,"children":457},[42],[459],{"tag":450,"href":46,"children":460},[45],[462],{"tag":450,"href":49,"children":463},[48],[465],{"tag":450,"href":52,"children":466},[51],[468],{"tag":450,"href":55,"children":469},[54],[471],{"tag":450,"href":58,"children":472},[57],[474,539,587,653],{"slug":475,"published":476,"minutes":477,"category":7,"tags":478,"keywords":483,"about":490,"sources":494,"cover":531,"og":532,"expertise":61,"locales":533,"lang":63,"title":534,"description":535,"coverAlt":536,"url":497,"pricing":537,"kind":538},"mcp-reference-servers","2026-09-25",9,[479,480,481,482],"MCP","Reference servers","Tool protocol","Server SDKs",[484,485,486,487,488,489],"mcp reference servers","modelcontextprotocol servers github","write an mcp server","mcp server examples","mcp server sdk","mcp server security",[491],{"name":492,"url":493},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",[495,498,501,504,507,510,513,516,519,522,525,528],{"title":496,"url":497},"MCP reference servers repository","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers",{"title":499,"url":500},"Repository README and server list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FREADME.md",{"title":502,"url":503},"Security policy","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FSECURITY.md",{"title":505,"url":506},"Release process and trusted publishing","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FRELEASING.md",{"title":508,"url":509},"Filesystem server README","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Ffilesystem\u002FREADME.md",{"title":511,"url":512},"Everything server feature list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Feverything\u002Fdocs\u002Ffeatures.md",{"title":514,"url":515},"MCP Registry","https:\u002F\u002Fregistry.modelcontextprotocol.io\u002F",{"title":517,"url":518},"Archived reference servers","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers-archived",{"title":520,"url":521},"Model Context Protocol documentation","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"title":523,"url":524},"TypeScript MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Ftypescript-sdk",{"title":526,"url":527},"Python MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fpython-sdk",{"title":529,"url":530},"FastMCP on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastmcp\u002F","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fog.jpg",[63,64,65],"MCP reference servers: what they demonstrate and what they omit","A review of modelcontextprotocol\u002Fservers: seven reference servers, what each one teaches, the SDK versions behind them and why none of them should reach production.","Seven reference servers fanning out from a single MCP client over stdio","MIT","Protocol tooling",{"slug":540,"published":541,"minutes":6,"category":7,"tags":542,"keywords":547,"about":555,"sources":562,"cover":579,"og":580,"expertise":61,"locales":581,"lang":63,"title":582,"description":583,"coverAlt":584,"url":585,"pricing":586,"kind":9},"aider","2026-09-23",[9,543,544,545,546],"Terminal","Git workflow","BYO key","Open source",[540,548,549,550,551,552,553,554],"aider vs claude code","aider polyglot benchmark","ai pair programming terminal","aider leaderboard","open source coding agent","aider architect mode","aider install",[556,559],{"name":557,"url":558},"Aider","https:\u002F\u002Faider.chat\u002F",{"name":560,"url":561},"Aider on GitHub","https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider",[563,565,568,571,574,576],{"title":564,"url":558},"Aider website",{"title":566,"url":567},"Aider LLM leaderboards","https:\u002F\u002Faider.chat\u002Fdocs\u002Fleaderboards\u002F",{"title":569,"url":570},"Aider linting and testing","https:\u002F\u002Faider.chat\u002Fdocs\u002Fusage\u002Flint-test.html",{"title":572,"url":573},"Aider token limits","https:\u002F\u002Faider.chat\u002Fdocs\u002Ftroubleshooting\u002Ftoken-limits.html",{"title":575,"url":561},"Aider repository on GitHub",{"title":577,"url":578},"aider-chat on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Faider-chat\u002F","\u002Fimages\u002Fblog\u002Faider\u002Fcover.webp","\u002Fimages\u002Fblog\u002Faider\u002Fog.jpg",[63,64,65],"Aider review: git-first pair programming in the terminal","A review of Aider 0.86.2, an Apache-2.0 terminal pair programmer whose benchmark ranks models honestly and whose release cadence has stopped.","Cover art for the Aider review: a terminal session turning a single request into a row of git commits","https:\u002F\u002Faider.chat","Free · BYO API key",{"slug":588,"published":589,"minutes":6,"category":7,"tags":590,"keywords":595,"about":604,"sources":614,"cover":645,"og":646,"expertise":61,"locales":647,"lang":63,"title":648,"description":649,"coverAlt":650,"url":617,"pricing":651,"kind":652},"openai-agents-sdk","2026-09-11",[591,592,593,479,594],"Agent runtime","Tracing","Guardrails","Python",[596,597,598,599,600,601,602,603],"openai agents sdk","openai agents sdk vs langgraph","python agent framework comparison","openai agents sdk guardrails","agent run tracing tool calls","openai agents sdk human in the loop","openai-agents pypi","agents sdk vs responses api",[605,608,611],{"name":606,"url":607},"Model context protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_context_protocol",{"name":609,"url":610},"Software framework","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_framework",{"name":612,"url":613},"Agentic AI","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAgentic_AI",[615,618,621,624,627,630,633,636,639,642],{"title":616,"url":617},"OpenAI Agents SDK documentation: Intro, and Agents SDK or Responses API","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002F",{"title":619,"url":620},"OpenAI Agents SDK documentation: Running agents","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Frunning_agents\u002F",{"title":622,"url":623},"OpenAI Agents SDK documentation: Guardrails","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fguardrails\u002F",{"title":625,"url":626},"OpenAI Agents SDK documentation: Human-in-the-loop","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fhuman_in_the_loop\u002F",{"title":628,"url":629},"OpenAI Agents SDK documentation: Tracing","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Ftracing\u002F",{"title":631,"url":632},"OpenAI Agents SDK documentation: Configuration","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fconfig\u002F",{"title":634,"url":635},"openai-agents 0.23.1 on PyPI, release history and licence","https:\u002F\u002Fpypi.org\u002Fproject\u002Fopenai-agents\u002F",{"title":637,"url":638},"OpenAI: The next evolution of the Agents SDK (15 April 2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fthe-next-evolution-of-the-agents-sdk\u002F",{"title":640,"url":641},"OpenAI API documentation: Agents, comparison of the three runtimes","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents",{"title":643,"url":644},"Arize: AI agent frameworks compared (1 October 2026)","https:\u002F\u002Farize.com\u002Fai-agents\u002Fagent-frameworks\u002F","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fog.jpg",[63,64,65],"OpenAI Agents SDK: a small agent runtime with sharp edges","A review of the OpenAI Agents SDK: the runner loop, tracing, guardrails and approvals, plus what the release churn and the Responses-only features cost.","Diagram of the Agents SDK runner loop: input, agent, model call, final output, guardrails, and tool calls feeding back into the input","MIT · API pay per token","Agent framework",{"slug":654,"published":655,"minutes":477,"category":7,"tags":656,"keywords":661,"about":668,"sources":678,"cover":699,"og":700,"expertise":61,"locales":701,"lang":63,"title":702,"description":703,"coverAlt":704,"url":705,"pricing":706,"kind":9},"openhands","2026-09-09",[9,657,658,659,660],"Sandboxed execution","Automations","Self-hosted","MIT licence",[654,662,663,664,665,666,552,667],"openhands self-host","open hands coding agent","openhands vs claude code","agent canvas","openhands docker sandbox","openhands cloud pricing",[669,672,675],{"name":670,"url":671},"OpenHands","https:\u002F\u002Fwww.openhands.dev",{"name":673,"url":674},"OpenHands on GitHub","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands",{"name":676,"url":677},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",[679,681,684,687,690,693,696],{"title":680,"url":674},"OpenHands README",{"title":682,"url":683},"OpenHands licence (MIT)","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands\u002Fblob\u002Fmain\u002FLICENSE",{"title":685,"url":686},"Agent Canvas 1.25.0 release notes","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fagent-canvas\u002Frelease-notes\u002Fv1.25.0.md",{"title":688,"url":689},"OpenHands sandbox overview","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fsandboxes\u002Foverview.md",{"title":691,"url":692},"OpenHands quick start","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Finstallation",{"title":694,"url":695},"OpenHands pricing","https:\u002F\u002Fwww.openhands.dev\u002Fpricing",{"title":697,"url":698},"Introducing the OpenHands Index","https:\u002F\u002Fwww.openhands.dev\u002Fblog\u002Fintroducing-the-openhands-index","\u002Fimages\u002Fblog\u002Fopenhands\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenhands\u002Fog.jpg",[63,64,65],"OpenHands: the open-source coding agent you operate","OpenHands 1.25.0 is an MIT-licensed coding agent platform with a web canvas, a CLI, sandboxed execution and scheduled automations. A review of where it is strong and where it gets heavy.","Cover artwork for the OpenHands review showing a loop from task to agent to sandboxed run and back","https:\u002F\u002Fgithub.com\u002FAll-Hands-AI\u002FOpenHands","Free · self-host",1791383548811]