Stash and Clash

Stash and Clash

People search for one against the other as though they were rivals. They are not the same kind of thing, and knowing which is which makes the choice obvious.

Short answer

Clash is a configuration standard. Stash is its own engine, written from scratch, that reads that standard completely and goes beyond it. Your existing config works unchanged — so the choice was never Stash or Clash.

Clash is a standard before it is a program

What made Clash matter is the configuration format: a YAML file describing proxies, proxy groups and the rules that pick between them. That format is the thing an ecosystem grew around, and it is what people mean when they say a client is Clash-compatible.

There is also a Clash program that reads it, with no interface of its own — on a desktop it runs from the command line, and on a phone it cannot run by itself at all. The standard and that one implementation are separate things, which is why more than one engine can read the same file.

Stash is a different engine, not a wrapper

Stash does not bundle the Clash binary and put an interface on it. The engine is ours, written from scratch and developed independently, and it implements the configuration standard in full.

So your existing file works unchanged — the same rules, proxy groups, providers and subscription URLs. Moving to Stash is not a migration, and moving away from it is not one either.

  • Fully compatibleConfiguration format, rule types, proxy protocols, proxy groups, remote proxy providers, rule providers — the standard as written, not a subset of it.
  • Beyond the standardThe HTTP engine — MitM decryption, request and response rewriting, JavaScript scripting — plus on-demand activation, SSID-based policy groups, and tvOS support. Written for Apple platforms rather than ported onto them.

The comparison that does make sense

The genuine question is which Clash-compatible client to run on an Apple device, and there are several — Shadowrocket, Quantumult X, Clash Mi and others, each with its own take.

We are not neutral about the answer, so rather than rank them: the things Stash is built around are native platform integration, the HTTP engine, and configuration that carries across macOS, iOS and tvOS from one file. If those are not what you need, another client may suit you better.

Why an independent engine matters now

The original open-source Clash repository is no longer maintained, which is why searches for it land on archives and mirrors. A client that wraps that binary inherits the problem: no fixes, no new protocols, no answer when a platform changes underneath it.

Stash does not, because the engine is not that binary. The configuration standard you already write against stays the same; what is behind it keeps being worked on.

FAQ

What people ask

Will my existing Clash configuration work in Stash?

Yes. Stash reads the same YAML — rules, proxy groups, providers and all. Import the file or the subscription URL you already use.

Is Stash just a paid version of Clash?

No. Stash runs its own engine, built independently rather than bundled from the Clash project. It reads the same configuration standard and adds the HTTP engine, scripting and native Apple platform integration on top of it.

Do I need to install Clash separately?

No. There is no separate binary to install or run alongside Stash — the engine is the app.

Which is better, Stash or Clash?

The question does not resolve. Clash cannot run on an iPhone by itself, and Stash is not running it there — it is a different engine reading the same configuration. The comparison worth making is against the other Apple clients.

Can I move a configuration between Stash and another Clash client?

Yes, in both directions. That is what a shared configuration format is for, and features specific to one client are ignored by the others rather than breaking the file.

Bring the configuration you already have

If you are running Clash somewhere today, that file works in Stash without being rewritten.