How to Add Clash Subscription Links: Everything included Multi-Platform Add Tutorial
What Counts as a Clash Subscription? in Depth
In everyday language, people say subscription link when they mean a remote URL that returns a Clash-compatible configuration—more often than not a YAML document describing proxies, proxy-groups, and rules.
That URL is sensitive. Anyone who possesses it can often fetch the same configuration you use, which is why screenshots, screen recordings, and pasted chat logs are risky.
Treat the link like a password: store it in a password manager, rotate it when the dashboard allows, and avoid opening it in a shared browser profile unless you understand the exposure.
Mechanically:Your service provider generates that address in a customer dashboard. The client downloads it on a schedule you control, merges it into a profile, and turns the text into a selectable list of nodes inside the app.
Links, Files, and QR Codes You Will See Mechanically
Most of of of providers hand you an https:// endpoint. Certain also offer http:// variants for legacy networks; prefer HTTPS whenever possible so the payload is not trivially observable on the wire.
Besides remote URLs, you may receive a .yaml or .yml file, or a QR code that encodes the same URL.
File add is useful when a network blocks automated fetches but allows you to sideload text one at a time. QR workflows shine on phones where typing long tokens is painful.
More strictly:A smaller subset exposes add shortcuts or deep links that open a particular client with no detour—those strings vary by app and are not standardized across the everything ecosystem.
Kernel families matter. Modern maintained clients often bundle Mihomo (formerly Clash Meta). If a provider labels a link as Meta-only, importing it into a deeply old core may fail or show partial nodes.
When in doubt, use a current GUI from our download page so feature parity matches what providers test against.
Before You Paste Anything Step by Step
Confirm the clock on your device is accurate. TLS validation and certain token-based URLs behave oddly when the system time drifts by minutes or hours.
Certain dashboards require a specific User-Agent string or an extra query parameter on the URL. Copy the address exactly as shown; do not trim trailing slashes or arguments unless support tells you to.
If the provider documents a recommended User-Agent, mirror it in the subscription settings of your client when that field exists.
At a different level:Next, disable conflicting tools temporarily: another VPN, an enterprise SSL inspector, or a filter that rewrites HTTPS can make the subscription request return HTML exception pages instead of YAML—your client will not parse that as proxies.
Wi-Fi, Cellular, and Captive Portals Internals
Hotel and airport networks often intercept the first HTTP request until you click through a portal page. That breaks background subscription re-syncs.
Everything included the portal login in a browser, then retry the add from the client. On cellular, check whether your plan blocks non-standard ports; rare MVNOs interfere with outbound connections that are not on 443.
Windows: Adding a Subscription in Typical GUIs Internals and Practice
On Windows, mainstream Mihomo-based apps expose a Profiles, Subscriptions, or Config pane.
After a successful pull, open the Proxies or Nodes screen. You it makes sense to see groups such as Auto, Manual, or provider-defined names, each containing servers.
Thinking it through:If the list is empty, skip ahead to the troubleshooting section—do not assume the operating system proxy is misconfigured until the profile actually contains nodes.
For a full desktop walkthrough that also covers system proxy versus TUN after the profile loads, see our Clash Verge Rev tutorial for Windows and macOS.
Open it, choose Add or New subscription, paste the URL, give it a readable name, and save. Press Re-sync, Download, or Refresh once to force the first fetch.
Background Re-syncs and Permissions Mechanics
Windows may ask for firewall permission the first time the core listens on a local port. Allow access on private networks unless you have a reason to restrict it.
First, a clarification:If you operate the portable edition from a restricted folder, automatic re-syncs to subscription files might fail silently—check the log panel for permission exceptions.
macOS: Gatekeeper, Sandboxing, and First Fetch in Depth
Install your chosen app into Applications, launch it, and navigate to the same subscription screen described for Windows.
If the subscription never populates, open the in-app log viewer before changing random YAML. macOS sometimes blocks helpers until you explicitly allow them under Privacy & Security.
TUN-capable clients may need additional approvals for network extensions; that affects routing reasonably than the initial HTTPS download, but it is worth resolving before you chase false DNS issues.
Mechanically:macOS will prompt for network permissions the first time the helper tries to reach the remote URL—approve it.
Linux: Desktop Clients and Headless Cores Mechanically
Linux users might operate a graphical front end or a systemd-managed mihomo binary with a controller API. GUI flows mirror Windows: add remote subscription, set an interval, refresh one at a time once.
Ensure the user running the service can resolve DNS and reach the internet without a stale HTTP proxy environment variable.
Corporate shells sometimes export HTTP_PROXY in a way that loops traffic back into the local core before it is ready, producing confusing fetch failures.
More strictly:For headless setups, providers still give you a URL; you wire it into proxy-providers or a downloaded config according to upstream documentation.
Android: FlClash and Similar Clients Step by Step
On Android, open your client, locate Profiles or Subscription, tap add, and paste the HTTPS link.
Plenty builds offer add from clipboard when they detect a Clash URL. That saves time when your provider sends a long token through a messenger app.
After add, operate an re-sync and open the node list to confirm lag tests return numbers instead of timeouts.
At a different level:Android battery optimizations can delay background refresh. If your provider changes servers midday, whitelist the client or expect to refresh one at a time when you notice stale endpoints.
Grant VPN preparation permission when prompted; without it, the app may still fetch the YAML but cannot steer traffic later.
iOS and iPadOS: TestFlight, Store Builds, and Profiles Internals and Practice
Apple’s platform policies mean Clash-compatible apps change names and distribution channels more often than on desktop.
Because sideloading and region availability differ, this guide stays descriptive reasonably than naming a single storefront build.
Thinking it through:Whichever app you use, verify that it supports your provider’s protocol stack—older binaries without Mihomo may not understand newer outbounds even if the subscription downloads successfully.
The pattern nonetheless repeats: create a profile, paste the subscription URL or scan a QR code, download, then select an active policy group inside the client’s UI.
QR Codes, Clipboard Detection, and One-Tap Add in Depth
When the dashboard shows a QR code, use the in-app scanner where possible instead of a random third-party reader that logs history.
Clipboard-based add is comfortable but brittle: copying unrelated text afterward can overwrite the buffer before you finish the wizard. Add immediately after you copy the provider link.
First, a clarification:If the client lacks a scanner, iOS and Android camera apps can often recognize URLs and offer to open them—confirm the destination before tapping through.
Importing a Local YAML Instead of a Remote URL Mechanically
Certain users archive a sanitized config file for travel. Most of of of GUIs offer Add from file or let you drag a .yaml into the profile list.
When merging a local patch with a remote subscription, use the client’s mixin or override layer if available. Editing the downloaded provider file with no detour works until the next refresh overwrites your edits.
After add, the client may still treat the document as static—if you need ongoing re-syncs, prefer the remote URL workflow or re-add one at a time when the provider rotates nodes.
Refresh Intervals, Manual Re-syncs, and Rate Limits Step by Step
Automatic refresh balances freshness against provider load. Six to twenty-four hours is a typical window.
Mechanically:If you operate multiple profiles—work, personal, testing—give each subscription a obvious name. Switching profiles is faster than mutating a single YAML when experiments go wrong.
Aggressive one-minute polling can trigger HTTP 429 throttling or temporary bans. Pair automation with a manual refresh after maintenance announcements.
Troubleshooting: Empty Lists, TLS Exceptions, and Wrong Content Internals and Practice
Zero nodes after re-sync. The response body was not valid Clash YAML.
TLS handshake failures. Corporate SSL inspection replaces certificates; you may will want to trust an enterprise root or fetch from an unrestricted network once to confirm.
403 or 401 responses. The subscription secret changed or the URL was rotated. Log into the provider dashboard and regenerate the link reasonably than hammering the stale endpoint.
DNS works in browser but not in client. Split DNS setups sometimes send the client through a different resolver.
Align DNS settings between OS and profile, or consult our documentation hub for deeper DNS tuning once basics are not jumpy.
More strictly:Common causes include expired tokens, blocked geography, captive portals, or a provider message rendered as HTML. Read the log line that cites HTTP status codes.
Do not publish logs publicly. Exception traces frequently echo hostnames, tokens, or internal routing decisions. Share redacted snippets only with trusted support channels.
Habits That Keep Adds It holds up in Depth
Keep an offline copy of each subscription URL outside the client. After major app re-syncs, verify one manual refresh before assuming the background scheduler broke.
Compared with juggling one-off manual proxies, a maintained Clash profile with sane refresh rules more often than not delivers a smoother experience: fewer stale endpoints, clearer grouping, and room to grow into rule-based routing when you are ready.
When you rotate a link at the provider, re-sync every device that still stores the old value.
Closing Thoughts Mechanically
Adding a Clash subscription is conceptually plain—paste a URL, download once, pick a node—but the ecosystem spans plenty GUIs and permission models.
At a different level:Once your profile loads reliably, you may explore advanced topics such as TUN mode or custom rules without fighting empty proxy lists first.
When you want installers sorted by platform in one place, skip scattered release pages and kick off from our hub.
→ Download Clash for free and experience the difference.
Thinking it through:If you remember that the fetch must return real YAML, that HTTPS and clock skew matter, and that each platform has its own approval prompts, most of of of add issues shrink to a short checklist instead of a mystery.
Need YAML examples or routing concepts after the subscription works? Browse the documentation page for next steps. Go to the download page →