Varpanel and editing Windows environment variables today
Applies toWindows, macOS and Linux

Varpanel was a small resizable editor for Windows environment variables, installed as a Control Panel applet. Today, open System Properties, Advanced, Environment Variables to edit them by hand, use setx for a permanent change from Command Prompt, or call [Environment]::SetEnvironmentVariable in PowerShell with a User or Machine scope.
Refreshed 2026, from the archive of this domain.
Varpanel was a small Windows utility published from this domain, and its page is kept here because old links still point to it. The program itself is no longer distributed, and this site does not offer it; the domain's history and its other archive pages explain how it fits in. What follows is how to do the same job with the tools built into Windows.
What Varpanel was
The 2014 copy of the Varpanel page describes "a simple, yet powerful tool for editing environment variables". It installed as a Control Panel applet called Environment Variables. Its whole case was that the Windows dialog of the time was too small: it could not be resized, the Edit Variable box was cramped, and long values such as PATH were tedious to edit.
Varpanel answered with a resizable window, a multiline editor for values with many entries, text search, and an Admin Mode that asked for administrator rights only when you saved changes to system variables. An archived page at /VarPanel.aspx shows the product was on this domain by September 2011.
View environment variables
In PowerShell, list every variable in the current session:
Get-ChildItem Env:
To read one, use the $Env: prefix. For PATH, splitting on the semicolon puts each folder on its own line, which is far easier to read:
$Env:PATH -split ';'
In Command Prompt, set on its own lists the variables, and echo %PATH% prints one.
To see only the value saved for your account, without the system part mixed in, ask .NET for the user scope. Microsoft's documentation for GetEnvironmentVariable says this overload reads from the registry key for the current user or the local machine:
[Environment]::GetEnvironmentVariable('Path', 'User')
These show the values in the current session. A program started earlier keeps the values it started with, which is why changes do not always seem to take effect straight away.
Edit them in System Properties
Windows' own dialog is still the safest place to make a permanent change by hand. Microsoft's about_Environment_Variables reference gives the route:
- Open the System Control Panel.
- Select System.
- Select Advanced System Settings.
- Go to the Advanced tab.
- Select Environment Variables...
- Make your changes.
The top half of the dialog holds your user variables and the bottom half the system variables, which apply to every account and need administrator rights. Windows writes these values to the registry, so they persist across sessions and restarts. Programs that are already running, including open terminal windows, need to be restarted to see them.
Set them with setx
setx makes a permanent change from Command Prompt. Microsoft's setx reference gives the basic form as setx <variable> <value> [/m], and this example for your user environment:
setx MACHINE Brand1
Add /m to set the variable in the system environment instead, from a Command Prompt opened as administrator:
setx MACHINE Brand1 /m
Three points from the same page matter in practice:
- Future windows only. Variables set with setx are available in future command windows only, not in the current one.
- A 1024-character limit. Longer values are cropped, and the cropped text is what gets saved. On an existing variable, that can lose data it held before.
- References are expanded. If PATH contains
%JAVADIR%and you change PATH with setx, the reference is replaced by its current value, so later changes to JAVADIR no longer flow through.
Set them with PowerShell
For the current session only, assign to $Env::
$Env:CompanyUri = 'https://internal.contoso.com'
For a permanent change, Microsoft's reference uses the .NET SetEnvironmentVariable() method with a scope as the third argument. 'User' saves it for your account; 'Machine' saves it for the whole computer and needs PowerShell run as administrator:
[Environment]::SetEnvironmentVariable('Foo', 'Bar', 'User')
[Environment]::SetEnvironmentVariable('Foo', 'Bar', 'Machine')
To delete a variable from that scope, set it to an empty string:
[Environment]::SetEnvironmentVariable('Foo', '', 'Machine')
This route does not go through setx, so setx's 1024-character limit does not apply to it.
Common mistakes with PATH
Using setx on a long PATH. The 1024-character limit crops it, and the cropped value replaces the old one. Edit PATH in the System Properties dialog or with SetEnvironmentVariable() instead.
Overwriting instead of appending. Setting PATH to a single folder replaces every entry. Read the current value first and add to it. In a session, $Env:PATH += ';C:\Tools' appends a folder, with the semicolon separating it from the entry before.
Mixing up user and system PATH. Each program sees the system PATH and your user PATH together. A folder added to your user PATH will not be there for other accounts or for services.
Expecting an open window to update. Close and reopen terminals, and restart programs, after a permanent change.
Making a change on a domain-joined machine you cannot sign in to. That is a different problem. If a workstation reports a broken trust with its domain, the archived guide to repairing a domain trust relationship without rejoining covers it.
For other everyday Windows checks, our walkthrough of checking a download's SHA-256 in PowerShell uses the same terminal.
Sources
Questions
Is Varpanel still available?+
Not from this domain. This site does not distribute it or point to copies of it. Windows' own Environment Variables dialog and the setx and PowerShell commands cover the same tasks.
Why doesn't my new environment variable show up in an open Command Prompt?+
Because setx writes the value for future windows only. Close the window and open a new one, and the variable will be there.
Can setx damage my PATH?+
Yes, if the value is long. Microsoft documents a 1024-character limit; anything longer is cropped, and the cropped text replaces what the variable held before.
What is the difference between user and system variables?+
User variables apply only to your account, while system variables apply to every account on the computer and need administrator rights to change.
Related reading
- From the archive

Don't rejoin to fix a broken trust relationship
Fix the trust relationship between this workstation and the primary domain failed error with Test-ComputerSecureChannel or Reset-ComputerMachinePassword.
- How-to

Check a hash on Windows
Commands that ship with the system, nothing to install
- About

About Implbits
What Implbits publishes, this domain's history from 2011 to now, how we test commands and pick sources, and how to reach the editors with a correction.