Project history and core positioning
Mihomo is the core name used by the continuation of the Clash Meta project. It listens on local ports, parses configurations, establishes proxy connections, matches rules, and handles DNS. The windows, tray menus, subscription management, and system proxy controls users see are mostly provided by the graphical client layer. The core and client are not the same software package, so two clients can both use Mihomo while differing in installation, settings, and system integration.
Responsibilities across the open-source ecosystem
Core maintainers focus on protocol implementation, configuration fields, network behavior, and runtime stability; client maintainers turn those capabilities into interfaces suited to desktop or mobile systems. Subscription providers generate nodes, strategy groups, and rules. When something goes wrong, identify the layer first: an interface that will not open is a client issue, configuration parsing failures usually involve YAML or field compatibility, node timeouts belong to the connection layer, and a website taking the wrong route calls for checking the matched rule.
Configuration compatibility and migration
Mihomo supports a broad Clash configuration structure, but different clients may store their own interface settings outside the original configuration. Options such as launch at startup, window behavior, and the system proxy toggle are usually not written to the subscription file. When migrating clients, back up the subscription URL, local override rules, and client preferences separately. Do not assume that copying one configuration file will carry over everything. After reimporting, verify the strategy groups, DNS, and system proxy status one by one.
Update paths and reproducing issues
Client updates, core updates, and subscription updates follow three separate paths. A client upgrade mainly changes the interface and system integration; a core upgrade may add configuration fields or fix network behavior; a subscription update replaces nodes, rules, and strategy groups. During troubleshooting, record the platform, client name, configuration source, operating mode, and key logs to avoid unproductive experiments. If a problem appears after an update, first identify which layer changed, then decide whether to revisit the configuration or the client settings.