The Zed 1.26.1 preview, released on 21 October 2026, makes Meta’s Pyrefly a built-in Python language server. You no longer need a community extension to use it. The same build also lets you expand nested variables right inside debugger hovers, and it can debug WebAssembly code back to its original source.
That is a lot for a weekly preview. Here is what changed, who it helps, and how to switch it on.
Key takeaways
- Pyrefly, Meta’s Rust-based Python type checker, now ships inside Zed as an optional language server. It is off by default.
- Debugger hovers now show an expandable, keyboard-friendly tree of nested values.
- The JavaScript debugger can read DWARF debug info, so you can step through WebAssembly built from C, C++ or Rust in its original source.
- A Git Panel bug that threw away staged changes when you discarded unstaged ones has been fixed.
- This is a preview build. It goes to the opt-in Preview channel first, and stable users get it later.
What is in the Zed 1.26.1 preview?
Zed is a fast, open-source code editor written in Rust. It ships a Preview channel every week, and stable releases follow later. According to Zed’s preview release page, 1.26.1 landed on 21 October 2026, a week after 1.25.0 arrived on 14 October.
The official release notes on GitHub list three headline features and about twenty bug fixes. Many come from outside contributors, which is a good sign for a project this young.
Why does built-in Pyrefly matter for Python developers?
A language server is the background process that gives your editor autocomplete, go-to-definition and type errors. Until now, Pyrefly in Zed meant installing a community extension and putting the Pyrefly binary on your PATH yourself.
Pyrefly matters because of its speed. When Meta open-sourced it in May 2025, InfoQ reported Meta’s benchmark: Pyrefly type-checked PyTorch in 2.4 seconds, compared with 35.2 seconds for Pyright and 48.1 seconds for MyPy. It was built to replace Pyre, Meta’s older OCaml-based checker for the Instagram codebase. Keep in mind those numbers come from Meta’s own tests.
Zed now offers a wide choice of Python servers. According to Zed’s Python docs, the options compare like this:
| Server | Maker | Role in Zed | On by default? |
|---|---|---|---|
| basedpyright | Community fork of Pyright | Primary language server | Yes |
| Ruff | Astral | Formatting and linting | Yes |
| Pyrefly | Meta | Type checker and language server | No |
| ty | Astral | Speed-focused language server | No |
| Pyright | Microsoft | Type checker and language server | No |
My take: Zed is betting on choice rather than picking a single winner. Back in October 2025, its blog said it was keeping an eye on Pyrefly. With this release, Pyrefly gets the same built-in status as ty.
How do you turn Pyrefly on in Zed?
You choose it through the Python language_servers setting in your settings.json. List "pyrefly", put a ! in front of any server you want off (for example "!basedpyright"), and add "..." to keep the other defaults, such as Ruff.
One catch: Pyrefly only shows type errors if your project has a configuration file. To see them everywhere, the docs say to set displayTypeErrors to "force-on" in the lsp settings. If you also manage Python with uv, our piece on the uv 0.13.3 export fix covers another recent tooling change.
What changed in the debugger?
There are two upgrades. First, when you hover over a variable while paused, you now get a tree you can expand. Think of opening nested folders: a dictionary inside a list inside an object, without going to the Variables panel. The tree also works from the keyboard.
Second, and more niche, the JavaScript debugger now supports DWARF for WebAssembly sources. DWARF is the standard debug format that maps compiled machine code back to your source lines. If you compile Rust or C++ to WebAssembly, you can set breakpoints and step through the real source instead of raw Wasm instructions. Chrome DevTools has offered something similar since 2023. Having it in the editor saves a trip to the browser.
WebAssembly keeps showing up in odd places. For a fun example, see how Stillplay rebuilt Windows XP games in C and WASM.
Which fixes are worth knowing about?
Most of the fixes are small. A few will save real headaches:
- Git Panel: discarding unstaged changes no longer wipes your staged changes too. That one could have cost you real work.
- Agent Panel: pasting a screenshot no longer inserts it twice. A crash when mentioning a file with a line break in its name is fixed.
- AI providers: duplicate “thinking” text from OpenAI-compatible providers is gone, and Mistral Large 4 works through those providers again.
- Rust: tasks and debugger variables now work for files outside a Cargo project.
- macOS: a new
use_display_p3setting adds support for the wider Display P3 color space.
There is also one behaviour change. Configuration defaults for ACP agents now apply only to new conversations, so reopening an old thread keeps its session settings. ACP, the Agent Client Protocol, is the standard Zed uses to plug in outside AI agents. If you follow the editor AI race, compare this with how Copilot sessions move into VS Code.
What happens next
Preview builds are where Zed tests features before they reach stable. Based on the weekly rhythm on Zed’s release page, these changes should reach stable users in a later release, but Zed has not given a date.
Two questions are worth watching. Will Pyrefly ever replace basedpyright as the default? And will Astral’s ty, which Zed has said it wants in core, get there first? For now, you get to run them side by side and decide which one you like.
FAQ
Is Pyrefly on by default in the Zed 1.26.1 preview?
No. It is built in but disabled by default. You enable it by adding “pyrefly” to the Python language_servers setting. basedpyright stays the default.
Do I still need the Pyrefly extension?
Not on this preview build or later. Before this release, Pyrefly in Zed depended on a community extension and a separately installed binary.
What is DWARF debugging for WebAssembly?
DWARF is debug information that maps compiled code back to your source. With it, Zed’s JavaScript debugger can step through Rust, C or C++ compiled to WebAssembly line by line.
Want to try it? Switch Zed to the Preview channel, add “pyrefly” to your Python settings, and run it on your biggest project to see how the speed compares.
Leave a comment