Oossa

GitHub moves Copilot runtime to Rust, cutting startup time

GitHub rewrote the Copilot CLI, app, and SDK runtime in Rust, trimming launch from 5.25 s to 0.29 s and removing a 100 MB Node.js overhead.

By Published by Oossa: 1 min read

Fotis Fotopoulos · Unsplash

GitHub finished moving the core of its Copilot command‑line tool, the desktop app, and the SDK from TypeScript/Node.js to Rust. The rewrite replaced about 800,000 lines of production code and was done with the help of AI‑generated code. The change lowered the time to start a Copilot client from 5.25 seconds to 292 milliseconds when the runtime runs inside the same process.

How the migration was done

GitHub used an incremental approach. Small TypeScript pieces were swapped for Rust versions while a temporary compatibility layer let the two languages talk to each other. This let the existing test suite keep running throughout the 14.5‑week effort. In total, 128 pull requests and 135 releases (35 stable, 100 prerelease) were published while the migration progressed.

What this means for developers

The new Rust runtime can be embedded directly into host applications via a C ABI, removing the need for a separate Node.js process and its roughly 100 MB memory footprint. An out‑of‑process mode is still available for cases that need isolation. The Copilot SDK continues to support TypeScript, Python, Go, .NET, Java and now Rust.

Why it matters

For developers who use Copilot, the faster startup means less waiting and smoother workflows. The smaller memory use makes the tool more suitable for low‑resource machines or CI pipelines. The ability to embed the runtime directly also opens up tighter integrations for custom IDE extensions.

Was this article useful?
Share

Read next

Oossa · Newsletter

The week in AI, explained

Every Monday: the stories worth knowing, in plain language. Free, no spam.