Skip to content

Clash compatibility with popular proxy apps

Short answer: Clash directly reads mihomo-format YAML configurations and HTTPS profile URLs that return mihomo YAML, including standard Clash / mihomo YAML used by Stash. Servers and nodes from sing-box, Surge, Quantumult X, Shadowrocket, or Loon can be reused through a compatible profile URL or parameter-based node entry.

Choose the app you use now

Current appRecommended configuration pathNode pathDetails
Clash / mihomoUse standard mihomo YAML directlyUse directlymihomo compatibility
sing-boxUse a profile URL that returns mihomo YAML, or prepare YAMLAdd supported protocol parameterssing-box compatibility
SurgeUse a profile URL that returns mihomo YAML, or recreate nodesShared protocols include SnellSurge compatibility
Quantumult XUse a profile URL that returns mihomo YAMLParameter-based entry also worksQuantumult X compatibility
ShadowrocketUse a profile URL that returns mihomo YAMLParameter-based entry also worksShadowrocket compatibility
StashUse standard Clash / mihomo YAML directlyUse directlyStash compatibility
LoonUse a profile URL that returns mihomo YAMLParameter-based entry also worksLoon compatibility

Three kinds of compatibility

  1. Configuration-file compatibility — direct reuse of complete configurations.
  2. Remote-profile compatibility — receiving mihomo YAML from an HTTPS profile URL.
  3. Protocol interoperability — connecting directly to the same server.

Clash provides broad remote-profile and protocol interoperability. Product-specific settings can be recreated with mihomo YAML, Clash rules, and the corresponding features.

What can Clash import directly?

SourceResult
mihomo YAML configurationImport directly
HTTPS profile URL returning mihomo YAMLAdd the URL directly; Profile User-Agent is configurable
Standalone node links such as ss://Convert to mihomo YAML or recreate the node from its parameters
Base64 node listConvert to mihomo YAML before import
QR code containing an HTTPS profile URLScan to add a remote configuration

See the complete protocol list.

How remote requests identify Clash

When the Clash client retrieves a remote Profile or an HTTP Proxy Provider or Rule Provider, it sends this User-Agent by default:

http
User-Agent: clash.meta/<core> Hako/v<app>.<build> Darwin/<release> <model>
  • <core> is the bundled Hako / mihomo core version.
  • <app> and <build> are the Clash app version and internal build number.
  • <release> is the Darwin kernel release, not a product version such as “macOS 26” or “iOS 26.”
  • <model> is the Apple hardware model identifier, not the device name chosen by its user.

The current clients produce values in this form:

text
macOS  clash.meta/1.19.30 Hako/v1.0.2.33 Darwin/25.6.0 Mac16,5
iOS    clash.meta/1.19.30 Hako/v1.0.1.1 Darwin/25.6.0 iPhone18,2
tvOS   clash.meta/1.19.30 Hako/v1.0.3.1 Darwin/25.6.0 AppleTV6,2

The Profile or Provider server receiving the request can see these version and device details. The header does not contain an account, a user-assigned device name, or an advertising identifier, but it does expose the exact app build, Darwin release, and hardware model.

A custom or compatibility User-Agent selected for the Profile replaces the default form. When a Provider explicitly configures a User-Agent request header, the Provider value takes precedence. The value seen in server logs can therefore differ from the default above.

Frequently asked questions

Can I reuse my Shadowrocket remote profile?

Yes when the provider returns mihomo-compatible YAML from the HTTPS profile URL. Recreate Shadowrocket rules, modules, and app settings with Clash rules and the corresponding features. See the dedicated Shadowrocket compatibility guide.

Can I use the same provider profile URL?

Yes, if the provider can return mihomo-compatible YAML. Clash can change its Profile User-Agent for panels that select an output format by client name.

Can I keep using the same server?

When the protocol and all required parameters are supported, the same server works directly.

Does compatibility mean affiliation?

Brand names identify configuration and protocol compatibility. Clash and Hako are developed and maintained independently.