.hcb_wrap.hcb_wrap{–hcb–bgc:#0d1117;–hcb–c:#e6edf3;–hcb–ff:”Consolas”,” Menlo”, ”Courier New”, monospace; –hcb–data-label–bgc:#161b22; –hcb–data-label–c:#8b949e; –hcb–line-numbers–c:#484f58;–hcb–scbar-track–bgc:#161b2280;–hcb–scbar-thumb–bgc:#30363d}
.hcb_wrap.hcb_wrap>pre,.hcb_wrap.hcb_wrap>pre>code { background: #0d1117; color: #e6edf3; text-shadow: none!important; -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;font-weight:400!important}
.hcb_wrap :is(code,span){font-weight:400!important;font-style:normal!important;text-shadow:none!important}
.hcb_wrap .token.comment, .hcb_wrap .token.prolog, . hcb_wrap .token.doctype, .hcb_wrap .token.cdata, .hcb_wrap .token.punctuation { color: #8b949e }
.hcb_wrap .token.keyword, .hcb_wrap .token.boolean, .hcb_wrap .token.selector, .hcb_wrap .token.tag { color: #ff7b72 }
.hcb_wrap .token.string, .hcb_wrap .token.attr-value, .hcb_wrap .token.char { color: #a5d6ff }
.hcb_wrap .token.function, .hcb_wrap .token.class-name { color: #d2a8ff }
.hcb_wrap .token.number, .hcb_wrap .token.constant, .hcb_wrap .token.symbol, hcb_wrap .token.operator, hcb_wrap .token.entity, hcb_wrap .token.url { color: #79c0ff; background: transparent }
.hcb_wrap .token.property, .hcb_wrap .token.attr-name, .hcb_wrap .token.atrule, .hcb_wrap .token.keyword.def { color: #7ee787 }
.hcb_wrap .token.variable, .hcb_wrap .token.regex, .hcb_wrap .token.important { color: #ffa657 }
.hcb_wrap .hcb-clipboard { opacity: .85 }
Foreword
In router systems like OpenWrt or iStoreOS, it’s common to install various plugins to expand functionality—for example, the popular proxy tool OpenClash. However, when a plugin malfunctions or a configuration error occurs, resetting the settings often fails to resolve the issue. Many users are left with no choice but to reflash the system—a solution that, while effective, is extremely time-consuming, as reconfiguring and restoring the environment can easily take one or two hours.
On the other hand, the pre-installed plugins that come with some custom firmware are often not what we actually need; they take up limited storage and memory resources over time, affecting the system’s smooth operation. Therefore, manually uninstalling unnecessary plugins not only resolves issues but also helps keep the router running more efficiently and keeping it clutter-free.
However, OpenWrt and iStoreOS do not offer a one-click uninstallation feature for most plugins, so we have to manually clean them up via SSH. Next, we’ll walk you through the process step by step to completely remove OpenClash and any related residual files.
Unfortunately, however, OpenWrt and iStoreOS do not support most manually installed plugins, so they cannot function like the iStoreOS software store, such asKMS ServerProvideVisual One-Click UninstallationFunctionality. Therefore, we need to manually remove these plugins via the command line (SSH). Here is a detailed tutorial.

How to Manually Uninstall OpenClash (A General Method Applicable to Other Plugins)
Step 1: Connect to the router
First, you'll need to connect to your router remotely via SSH.
- Mac / Linux Users: You can open the Terminal directly and use
sshIssue the command to establish a connection. - Windows Users: You can use tools such as PuTTY 或 Windows Terminal Let's establish an SSH connection.
Make sure you know your router's IP address (usually 192.168.1.1 or as configured) and the username and password for the administrator account.
ssh root@your-router's-IP-address
The default username is usually root, IP addresses are generally 192.168.1.1... depending on your specific settings. Alternatively, the easiest way is to access this page directly through your router's interface—using iStoreOS as an example.
Step 2: Find the name of the OpenClash installation package
Enter the following command to find all installed packages that contain the keyword “openclash”:
opkg list-installed | grep openclash

For example, the result might be:luci-app-openclash – 0.46.07, That is the full package name for OpenClash.
If you want to viewAll Installed Packages, search manually, or you can also use the following directly:
opkg list-installed
Then search through the list, usually by luci- First, check to see if the text includes the words "openclash."

Step 3: Run the uninstall command
Once you've found the correct package name, use the following command to uninstall it:
opkg remove luci-app-openclash

For more detailed examples, please refer to the original article.
Related Reading:
Do two things before uninstalling
First, export the OpenClash configuration and subscription information, then back up the OpenWrt/iStoreOS configuration. Make a note of the original DNS, DHCP, and firewall settings—especially the ports related to MosDNS, AdGuard Home, and bypass routing—to prevent the local network from suddenly being unable to resolve domain names after uninstallation.
Safe Uninstall Sequence
- On the OpenClash page, stop the service and disable it from starting at boot.
- Verify that the current network no longer relies on its DNS listening port.
- Uninstall `luci-app-openclash` using the package manager; if disk space is low, delete the core and cache files as needed.
- Restart dnsmasq and the firewall, and check whether the default gateway and DNS have been restored.
- After confirming that the network is working properly, delete any configuration backups and downloaded files that you are certain are no longer needed.
How can you tell if there are any residues?
Check processes, listening ports, scheduled tasks, and firewall rules. Focus on confirming that there are no "clash" core processes, that commonly used DNS and control ports are no longer in use, and that there are no repeated startup failures in the system logs. You can keep the configuration directory for a few days in case you need to roll back; there’s no need to rush to delete it with a single click.
Unable to access the Internet after uninstallation
- Temporarily change the client's DNS settings to the router's address or a trusted public DNS server.
- Restore the dnsmasq upstream and DHCP configuration settings.
- Check the policy-based routing and firewall forwarding previously created by OpenClash.
- If you use a secondary route, make sure the primary route gateway is no longer pointing to a device that has been taken offline.
Original article by Tech.laowang. If you wish to repost this article, please credit the source: https://techlaowang.com/en/openwrt-istoreos-and-openclash/