Five entry types replace repeated system-file edits
SwitchHosts v5 manages 5 entry types: system, local, remote, group, and folder. You can enable a profile, switch it from the system tray, search or replace text, and keep related mappings together. A staging setup stops being a block of addresses pasted into a protected file and becomes a named item that can be turned off again. That helps developers, testers, and support staff who change destinations often.
The v5 layout puts a manifest, entry content, preferences, trash data, and histories under ~/.SwitchHosts, or the matching .SwitchHosts folder in a Windows user directory. Copying that whole folder makes a complete manual backup. The in-app JSON export is narrower: the README says it carries hosts data but leaves out preferences and histories.
The v5.0.2 packages are easier than a source build
Release v5.0.2, published September 3, 2026, includes installers or bundles for macOS, Windows, and Linux across supported CPU architectures. Linux users get AppImage, Debian, and RPM choices. Windows users can also install SwitchHosts through Chocolatey. For someone who only wants to switch profiles, these packages arrive with the desktop application already assembled.
Source work crosses 3 prerequisite layers: Node.js, Rust, and Tauri's operating-system packages. The README then directs contributors to npm install and npm run tauri:dev. Production packaging uses npm run tauri:build. Linux contributors are sent to Tauri's external prerequisite list instead of seeing the native packages beside the commands. Our Debian result shows why those packages deserve attention.
What happened when we ran it
Our test method used a fresh Debian container with 3 CPUs, 8 GB of RAM, Node 22, no secrets, and no extra privileges. Our sandbox installed commit 09adfa4 in 37 seconds. The checkout held 270 files, about 32,751 lines of source, and occupied 3.5 MB before installation. Npm added 441 packages and raised disk use to 539 MB. The harness found no build script target, so it skipped the build step. Npm audit reported 0 known vulnerabilities.
The test command ran for 80 seconds and exited 101. Vitest itself was clean: 13 files passed, containing 84 passing tests and 0 failures. Cargo then tried to build the Rust side and stopped when pkg-config could not find the gdk-3.0 system library at version 3.22 or newer. The log said gdk-3.0.pc was unavailable and PKG_CONFIG_PATH was unset. It did not report a failing project assertion.
The TypeScript and React unit checks completed, while the native Linux test path was not portable to this fresh Debian container as supplied. We did not install extra system packages after the failure or run a packaged desktop binary. These measurements cover repository setup and tests, not tray behavior, privilege prompts, remote refresh reliability, or installer quality.
Issue 1041 reports repeated Windows UAC prompts
GitHub listed 428 issues as open; issue 1041 says edits to an enabled configuration trigger a Windows UAC confirmation and asks for synchronization on save or focus loss instead. Hosts-file writes are privileged by design, but prompt frequency can still make an editor annoying. If your workflow changes several lines at a time, test that interaction on the exact Windows policy your company uses.
Issue 1048 concerns the macOS 26 tray popover. The reporter says clicking the tray icon does not show the small window in the current workspace and requires returning to the desktop. Issue 1043 also says search finds an entry only after its location has been brought into view and does not search across groups. We did not reproduce these reports in our container, but they touch two reasons to choose the GUI.
Issue 1046 leaves private-CA remote lists unresolved
In v5.0.2, remote entries have 3 refresh triggers: manual, scheduled, and application startup. That makes a centrally maintained test or block list practical without asking each person to paste updates. Proxy settings are available, and post-apply commands can connect a profile change to another local action. A local HTTP API lets other tools control the desktop app.
Issue 1046 describes a v5.0.2 remote URL signed by an internal or self-signed CA. The request fails because the certificate chain is not trusted, and the issue asks for custom-CA support or a per-entry option to bypass verification. The request remains open. A company using private PKI should verify that the operating system trusts its CA instead of assuming SwitchHosts has its own certificate setting.
An October 2 push shows activity, while 428 issues remain open
GitHub showed 27,251 stars and a last push on October 2, 2026. The latest release was v5.0.2 on September 3, and the measured commit from October 2 updated a development dependency. GitHub's repository counter showed 428 open items. A separate API search returned 428 open issues and 0 open pull requests, making that an issue backlog on the day we checked.
Recent reports received comments, and code landed the same day as our run. That is evidence of current maintenance, though the backlog is large. The project dates to 2011 and now has signed Linux artifacts, multi-architecture installers, an updater, and two CI workflow files. Those are mature distribution signals. The unanswered platform reports still deserve a trial on your operating-system version before a team standardizes on it.
Pick a CLI when switching must work without a desktop
The 539 MB development install buys a desktop workflow that hostctl and xwmx/hosts replace with commands. Gas Mask stays closer to SwitchHosts' graphical model but targets macOS. SwitchHosts earns its footprint when groups, remote refreshes, backups, and tray access save repeated manual work across three desktop systems. If those features sound excessive, use the smaller tool and keep the hosts file boring.

