The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →GitHub says it rewrote the production implementation of its Copilot agent runtime from TypeScript on Node.js and V8 to Rust, using Copilot agents to write most of the replacement code. The change targeted a specific runtime used by Copilot CLI, Copilot app, SDK, and other GitHub and Microsoft experiences—not every GitHub product written in TypeScript. GitHub’s engineering account describes the migration and its benefits; it is not an independent audit.
Why did GitHub choose Rust for the Copilot runtime?
According to Stephen Toub’s GitHub engineering post, the team was trying to reduce runtime overhead, support in-process embedding, improve performance and scalability, strengthen reliability, interoperate with six SDK languages, and use a toolchain that supported its security goals. The choice followed from those requirements rather than a general belief that Rust should replace TypeScript.
As an Amazon Associate I earn from qualifying purchases.
In the earlier design, SDKs could need a Node runtime or a bundled V8 binary, and they communicated with the CLI across a process boundary. GitHub says the Rust runtime can instead be embedded natively and expose a C ABI, allowing language SDKs to connect through foreign-function interfaces (FFI). This is an architectural advantage GitHub reports for its system, not a guarantee that Rust will improve every application or workload.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallToub summarized the motivation this way: “I didn’t set out to move to Rust, I set out to move away from Node.js and V8”.
#1 Best Overall
How did GitHub migrate the implementation without stopping development?
GitHub chose a component-by-component port in place of a single cutover. For each change, a pull request replaced a TypeScript implementation with a Rust implementation and a temporary shim. Those changes shipped incrementally while ordinary work continued on the main branch, letting the team observe deployed builds as the port progressed.
GitHub reports that the migration took 128 pull requests. On August 21, 2026, the production implementation of the runtime was 100% Rust, according to the company.
Rank #2
How much code did the AI-assisted rewrite involve?
GitHub says Copilot agents wrote most of the Rust replacement. The company reports that approximately 430,000 lines of production TypeScript passed through the port. By August 21, 2026, the production Rust implementation comprised 832,378 lines, alongside 468,689 lines of Rust unit tests.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsThose figures describe the size of the effort, not a direct measure of code quality or proof that an AI system independently completed the migration. GitHub’s account presents the work as an incremental engineering project involving replacements, temporary shims, releases, testing, and fixes.
Rank #3
What does GitHub report about performance and reliability?
GitHub says its benchmarks showed substantial performance improvements, and it describes lower runtime overhead and in-process SDK loading as outcomes of the new architecture. The available account here does not provide benchmark scenarios or numerical results, so it does not support a specific speedup figure or a like-for-like performance comparison.
GitHub also says the team had traced dozens of known regressions by September 14, 2026, and fixed those known issues. The company characterizes most as correctness problems, with a smaller group of performance regressions. It also acknowledges that further issues could remain undiscovered. Incremental releases gave the team opportunities to observe changes in production and address problems as they appeared; the migration was not regression-free.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What can other engineering teams take from the rewrite?
- Start with the constraint, not the language. GitHub’s stated motivation was to address the runtime, embedding, interoperability, performance, reliability, and security requirements of this particular system.
- Consider migration shape as well as destination. Replacing components through incremental changes let the team continue shipping rather than defer development for a one-time cutover.
- Read headline metrics in context. Lines of code and tests indicate project scale, while benchmark conclusions require scenario details and measurements.
- Plan for regressions and continuing discovery. GitHub reports fixes for known issues but does not claim that every regression was found.
The account is useful as a case study in a staged runtime rewrite, but its conclusions are GitHub’s description of its own project. It does not establish that a large TypeScript application should generally be rewritten in Rust.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




