Modern Windows 11 environment editor built with WinUI 3 and .NET 10.
View system and user environment variables side by side, with individual PATH entries expanded for editing.
Search variable names and values across both system and user scopes.
Add standard or expandable variables with input validation before saving.
Install from the Microsoft Store, or use WinGet:
winget install meop.WinEnvEditwinget upgrade meop.WinEnvEditAlternatively, install the portable release with Scoop:
scoop bucket add meop https://github.com/meop/scoop-bucket
scoop install meop/winenveditThe publisher's bucket supports Windows 11 x64 and ARM64.
To update the Scoop installation:
scoop update
scoop update winenveditThe Chocolatey package has been submitted for moderation. Once approved, install or update it with:
choco install winenvedit
choco upgrade winenveditChocolatey uses the Windows 11 x64 or ARM64 MSI installer. Scoop and Chocolatey updates are published automatically after stable releases created by this project's GitHub Actions pipeline. Chocolatey versions must pass its review process before becoming available on the normal feed.
- Dual-Pane Interface: Side-by-side management of System and User variables.
-
Incremental Refresh: Blazing fast UI updates that only refresh changed items using
$O(N)$ reconciliation. -
Path List Management: Expand semicolon-separated variables (like
PATH) into a list with drag-and-drop reordering. -
Validation: Real-time checking for path existence (canonical
C:\…paths and%MACRO%references) and variable name validity. - Fast Saves: User variables are written directly and instantly with no elevation; only System variables require a UAC prompt. The window is briefly blocked while a save (or import/export/refresh) is in progress.
- Move Between Panes: Drag a variable from one pane to the other to move it between User and System scope.
- Full History: Unlimited Undo/Redo until changes are saved or refreshed.
- Modern UI: Fully responsive design with Mica backdrop and Windows 11 design language.
The application displays a dual-pane view:
- Left Pane: System environment variables (requires elevation to save).
- Right Pane: Current User environment variables.
- Modify: Edit the name or value of any variable directly in the text box.
- Add: Click the + button in either the System or User header to add a new variable.
- Remove: Click the X button on a variable card to mark it for removal.
- Toggle Type (Ctrl+T): Right-click a variable card and select Toggle Type to switch between a standard String (
REG_SZ) and an Expandable String (REG_EXPAND_SZ). - Copy / Paste (Ctrl+C / Ctrl+V): Right-click a card to copy it as
Name=Value, or paste a value into it. Paste is disabled when the clipboard has nothing pasteable or the target is read-only. - Move Between Panes: Drag a variable card to the other pane. If a variable of the same name already exists there it is overwritten (and removed from the source); read-only targets are not overwritten.
- Copy All / Paste All: Right-click an empty area of a pane to copy every variable or paste a block of
Name=Valuelines (applied as a single undo step).
Variables containing multiple paths (semicolon-separated, like PATH) can be expanded into a dedicated list view:
- Expand/Collapse: Click the chevron button on the variable card.
- Validation: Individual paths are checked for existence. Invalid paths are highlighted with a red border.
- Reordering: Drag and drop paths within the list to change their order.
- Add/Remove Rows: Use the plus and minus buttons within the expanded view to manage individual path entries.
- Search (Ctrl+F): Click the search icon to filter variables in both panes by name or value.
- Volatile Variables (Ctrl+Shift+V): Click the eye icon to show/hide volatile (read-only, session-based) variables.
- Export (Ctrl+E): Save your current environment variables to a
.tomlfile for backup or sharing. - Import (Ctrl+I): Load variables from a
.tomlfile. This allows you to sync environments between machines.
- Undo/Redo (Ctrl+Z / Ctrl+Y): Full history of changes is maintained until you save or refresh. Batch operations (Import, Paste All, Move) undo as a single step. Export does not affect history.
- Pending Changes: The Save button is only enabled when there are changes to apply.
- Elevation: User variables save instantly with no prompt. Saving System variables requires administrator rights, so it triggers a standard Windows UAC prompt (subject to your UAC settings).
| Shortcut | Action |
|---|---|
F5 |
Refresh from Registry |
Ctrl+S |
Save Changes |
Ctrl+Z |
Undo |
Ctrl+Y |
Redo |
Ctrl+F |
Search |
Ctrl+T |
Toggle Type |
Ctrl+E |
Export to File |
Ctrl+I |
Import from File |
Ctrl+Shift+P |
Toggle All Path Views |
Ctrl+Shift+V |
Toggle Volatile Variables |
Ctrl+C |
Copy Variable (Name=Value) |
Ctrl+V |
Paste Variable Value |
WinEnvEdit was heavily inspired by Rapid Environment Editor, a powerful tool that was widely used until its development slowed around 2018. While RapidEE is still functional, it is a legacy application that struggles with modern high-DPI display scaling and lacks a native Windows 11 aesthetic.
Crucially, Rapid Environment Editor chose a design that requires restarting the entire application as an Administrator to edit system variables. WinEnvEdit improves on this by triggering a standard Windows UAC prompt only during the Save operation. Our design also prioritizes a cleaner, more focused UI over the dense menu systems of legacy editors.
Several frameworks were considered to achieve the best balance of performance and native integration:
- WinUI 3 (Chosen): Provides the most authentic Windows 11 look and feel, including Mica backdrops and consistent Light/Dark themes. While the API surface is more modern and "cut-down" compared to WPF, it is the standard for native Windows development.
- WebView / Blazor Hybrid: While frameworks like WebView (used by MS Teams) or Blazor Hybrid offer great flexibility, they lack the low-level system integration and lightweight footprint of a native WinUI app.
- Avalonia: A modern cross-platform alternative to WPF, but its custom rendering engine made it difficult to achieve a perfectly "native" Windows theme without significant effort. Additionally, implementing efficient scrolling through varied types of list view elements was more complex than in WinUI.
- MAUI: Primarily mobile-focused, with desktop features often feeling like secondary additions.
- Uno Platform: Powerful for multi-platform apps, but considered overkill for a dedicated Windows utility.
- Tauri: Offers a fancy UI but relies on Node.js/NPM which, while functional on ARM64, has a larger dependency footprint than pure .NET.
- WPF / WinForms / Electron: Considered legacy or overly resource-heavy for a modern system utility.
This project is licensed under the MIT License - see LICENSE.
Release installers and portable ZIPs contain LICENSE. Verify the signed
checksum manifest with the public release key before checking downloaded
artifacts:
gpg --verify SHA256SUMS.sig SHA256SUMS
sha256sum --ignore-missing --check SHA256SUMSThis project was developed with help from multiple Large Language Models:
- Anthropic Claude: Architecture, code generation, and documentation.
- Google Gemini: Refactoring, test optimization, and troubleshooting.
- Z.ai GLM: Feature implementation and specialized code assistance.
- Alibaba Qwen: Minor edits and refinements.


