ClashTui is a terminal user interface (TUI) proxy management tool supporting both Mihomo (Clash.Meta) and sing-box proxy cores. Switch nodes, update subscriptions, manage connections, and control services — all from the terminal.
profile, mode, service, update subcommands for scripting and automationcore_override_config without modifying original subscription fileskeymap.yamlLinux and macOS:
Windows:
sudo pacman -S mihomo sing-box clashtui # ArchLinux
This step ensures mihomo, sing-box, and clashtui are available in your environment so the install script will skip downloading them. You can also download them manually and run which mihomo sing-box clashtui to verify they are correctly configured.
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all
Tip: The install script downloads resources from GitHub. If downloads keep failing, try enabling a proxy before running the script.
clashtui_mihomo.service / clashtui_singbox.service on boot:sudo systemctl enable clashtui_mihomo.service
# OR
sudo systemctl enable clashtui_singbox.service
brew install mihomo sing-box # Note: clashtui was NOT uploaded, please install it manually
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all
clashtui_mihomo / clashtui_singbox launchd plists on boot:sudo launchctl load -w /Library/LaunchDaemons/clashtui_mihomo.plist
# OR
sudo launchctl load -w /Library/LaunchDaemons/clashtui_singbox.plist
scoop install mihomo sing-box clashtui
# Verify
Get-Command mihomo sing-box clashtui
This step ensures mihomo, sing-box, and clashtui are in PATH so the install script will skip downloading them.
# Default install to D:\ClashTui
irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1 | iex
# Custom directory (no spaces allowed)
iex "& {$(irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1)} -Core all -InstallDir 'D:\MyTools\ClashTui'"
# Only install mihomo core
iex "& {$(irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1)} -Core mihomo"
The install script does NOT register Windows Services. Launch clashtui and use the built-in CoreSrvCtl to manage services. Enable only one core service at boot (do not enable both simultaneously).
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all --is-user
Enable on boot:
systemctl --user enable clashtui_mihomo.service
# OR
systemctl --user enable clashtui_singbox.service
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all --is-user
Enable on boot:
launchctl load -w ~/Library/LaunchAgents/clashtui_mihomo.plist
# OR
launchctl load -w ~/Library/LaunchAgents/clashtui_singbox.plist
netstat -utapln | grep 9090 to check whether the Clash API port is open.| Document | Description |
|---|---|
| Getting Started | Detailed usage guide: UI operations, CLI, subscription management, config reference, FAQ |
| Manual Installation | Step-by-step manual installation for system/user mode |
| Feature Design | Feature design: config structure, subscription management, Template expansion, sing-box merge algorithm |
| Architecture | Code architecture: module structure, startup flow, TUI event loop, Tab system |
| Development Conventions | Branch naming, commit format, CHANGELOG conventions |
Issues and pull requests are welcome. Please read the Development Conventions before contributing.
To get up to speed quickly:
723 followers · starred Jun 2025
122 followers · starred Sep 2026
325 followers · starred Dec 2025
602 followers · starred May 2026
ClashTui is a terminal user interface (TUI) proxy management tool supporting both Mihomo (Clash.Meta) and sing-box proxy cores. Switch nodes, update subscriptions, manage connections, and control services — all from the terminal.
profile, mode, service, update subcommands for scripting and automationcore_override_config without modifying original subscription fileskeymap.yamlLinux and macOS:
Windows:
sudo pacman -S mihomo sing-box clashtui # ArchLinux
This step ensures mihomo, sing-box, and clashtui are available in your environment so the install script will skip downloading them. You can also download them manually and run which mihomo sing-box clashtui to verify they are correctly configured.
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all
Tip: The install script downloads resources from GitHub. If downloads keep failing, try enabling a proxy before running the script.
clashtui_mihomo.service / clashtui_singbox.service on boot:sudo systemctl enable clashtui_mihomo.service
# OR
sudo systemctl enable clashtui_singbox.service
brew install mihomo sing-box # Note: clashtui was NOT uploaded, please install it manually
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all
clashtui_mihomo / clashtui_singbox launchd plists on boot:sudo launchctl load -w /Library/LaunchDaemons/clashtui_mihomo.plist
# OR
sudo launchctl load -w /Library/LaunchDaemons/clashtui_singbox.plist
scoop install mihomo sing-box clashtui
# Verify
Get-Command mihomo sing-box clashtui
This step ensures mihomo, sing-box, and clashtui are in PATH so the install script will skip downloading them.
# Default install to D:\ClashTui
irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1 | iex
# Custom directory (no spaces allowed)
iex "& {$(irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1)} -Core all -InstallDir 'D:\MyTools\ClashTui'"
# Only install mihomo core
iex "& {$(irm https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install.ps1)} -Core mihomo"
The install script does NOT register Windows Services. Launch clashtui and use the built-in CoreSrvCtl to manage services. Enable only one core service at boot (do not enable both simultaneously).
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all --is-user
Enable on boot:
systemctl --user enable clashtui_mihomo.service
# OR
systemctl --user enable clashtui_singbox.service
bash <(curl -fsSL https://raw.githubusercontent.com/JohanChane/clashtui/refs/heads/main/installs/install) --core all --is-user
Enable on boot:
launchctl load -w ~/Library/LaunchAgents/clashtui_mihomo.plist
# OR
launchctl load -w ~/Library/LaunchAgents/clashtui_singbox.plist
netstat -utapln | grep 9090 to check whether the Clash API port is open.| Document | Description |
|---|---|
| Getting Started | Detailed usage guide: UI operations, CLI, subscription management, config reference, FAQ |
| Manual Installation | Step-by-step manual installation for system/user mode |
| Feature Design | Feature design: config structure, subscription management, Template expansion, sing-box merge algorithm |
| Architecture | Code architecture: module structure, startup flow, TUI event loop, Tab system |
| Development Conventions | Branch naming, commit format, CHANGELOG conventions |
Issues and pull requests are welcome. Please read the Development Conventions before contributing.
To get up to speed quickly:
723 followers · starred Jun 2025
122 followers · starred Sep 2026
325 followers · starred Dec 2025
602 followers · starred May 2026