A Second Set of Eyes for Your Coding Agent
Coding agents are good at executing plans, but their early assumptions can quietly become the foundation for everything that follows. A wrong structural choice at the planning stage may not surface until much later, when it's expensive to unwind. The typical remedy — asking the agent to review its own plan — has a built-in limitation: a model checking its own work shares the same training data, techniques, and blind spots that produced the original output.
GitHub Copilot CLI is now experimenting with a different approach. A new feature called Rubber Duck brings in an independent reviewer from a different model family to critique the primary agent's plans and work at key decision points.
How Rubber Duck Works
Rubber Duck operates as a focused review agent, powered by a model complementary to the one orchestrating your main Copilot session. If you've selected a Claude model from the model picker as the orchestrator, Rubber Duck runs on GPT-5.4. The reviewer's job is to produce a concise list of high-value concerns: missed details, assumptions worth questioning, and edge cases that deserve attention.
The agent can invoke Rubber Duck both automatically and on demand. Automatic critiques happen at checkpoints where feedback has the most leverage:
- After drafting a plan — catching a suboptimal decision early prevents compounding errors downstream.
- After a complex implementation — a second perspective on intricate code can surface edge cases.
- After writing tests, before executing them — a chance to spot gaps in coverage or flawed assertions before the "everything passes" signal reinforces them.
Rubber Duck can also be triggered reactively if the agent gets stuck in a loop or stops making progress. Users can request a critique at any point; Copilot will reason over the feedback and show what changed and why. The design intentionally invokes Rubber Duck sparingly, focusing on moments with the highest signal-to-noise ratio, using the same task infrastructure Copilot already uses for other subagents.
Closing the Gap Between Models
GitHub evaluated Rubber Duck on SWE-Bench Pro, a benchmark drawn from large, difficult, real-world coding problems in open-source repositories. Pairing Claude Sonnet 4.6 with Rubber Duck running GPT-5.4 achieved a resolution rate approaching Claude Opus 4.6 alone, closing 74.7% of the performance gap between Sonnet and Opus.
The benefit is most pronounced on hard problems. On tasks spanning 3+ files and requiring 70+ steps, Sonnet plus Rubber Duck scored 3.8% higher than the Sonnet baseline, and 4.8% higher on the hardest problems identified across three trials. Some concrete examples from testing illustrate the kind of issues the reviewer catches:
- Architectural flaw (OpenLibrary/async scheduler): Rubber Duck caught that the proposed scheduler would start and immediately exit without running any jobs — and that even if fixed, one of the scheduled tasks was itself an infinite loop.
- Silent data loss (OpenLibrary/Solr): A loop overwrote the same
dictkey on each iteration. Three of four Solr facet categories were being dropped from every search query with no error raised. - Cross-file conflict (NodeBB/email confirmation): Three files all read from a Redis key that the new code stopped writing. The confirmation UI and cleanup paths would have broken silently on deployment.
Availability and Scope
Rubber Duck is available now in experimental mode in GitHub Copilot CLI. To use it, run the /experimental slash command and select any Claude model (Opus, Sonnet, or Haiku) from the model picker, with access to GPT-5.4 enabled. GitHub is exploring additional model families for both the orchestrator role and the Rubber Duck reviewer itself.
Critiques appear automatically after planning, complex implementations, or test writing — or whenever you explicitly ask for one. The feature is aimed at complex refactors, architectural changes, high-stakes tasks where a miss is costly, and situations where you want a second opinion on a plan before committing to it. Currently limited to Claude orchestrators paired with GPT-5.4, the cross-family review mechanism is positioned as a way to catch the kind of mistakes a single model's training biases can hide.



