What “Clash remote work setup” should solve
If you searched for Clash Zoom routing, Slack calls dropping, or Google Meet connection issues, you probably do not want every work website sent through one proxy. You want meetings to use a route that behaves well, while company portals, local services, and ordinary browsing continue to use the paths that make sense for them. A useful remote-work setup therefore starts with a routing policy, not with a blanket Global-mode switch.
That distinction matters because video meetings are sensitive to latency, jitter, packet loss, and route changes, not just headline download speed. A route that loads a large file quickly can still produce choppy audio if packets arrive inconsistently. Meanwhile, routing every work-related hostname through the same proxy can create sign-in loops, make an organization’s security controls harder to use, or send traffic somewhere your employer does not permit. Follow your organization’s network and data-handling policies; use Clash only for traffic you are authorized to route.
Clash and Mihomo can make this behavior explicit. You can place relevant traffic in named policy groups, choose a route in the client, and inspect individual connections to check which rule matched. The goal is not to guess every server a meeting app might contact. It is to build a small, understandable starting policy, observe actual traffic during a call, and adjust only when the logs show a concrete reason.
This guide covers desktop clients such as Clash Verge and Clash Verge Rev, as well as compatible Mihomo configurations. Menu labels differ between clients and releases, and subscription providers may supply their own rules and groups. Treat the examples below as a policy pattern: replace example group names with names that exist in your profile, and do not overwrite a managed configuration without keeping a backup.
Design targeted rules for Zoom, Slack, and Meet
Before editing rules, decide what “better calls” means for your connection. If a company requires its conferencing traffic to use a corporate VPN, that requirement takes priority over a personal Clash rule. If you are allowed to select an alternate route, compare the available choices with a short real call rather than assuming that a particular country, node label, or automatic selection is always best. The closest server is not necessarily the least congested, and a route that works at lunchtime may be overloaded during your team’s meeting hours.
Use separate policy groups when you need separate choices. For example, a group for meeting applications lets you switch those connections without changing the route for unrelated browsing. A group can point to a manually selected proxy, a provider’s existing selector, or a testable automatic group, depending on what your profile supports. The sample below illustrates the relationship between groups and rules; it is not a complete subscription and will not work until its referenced proxies or groups are available.
proxy-groups:
- name: Work-Meetings
type: select
proxies:
- YOUR-PREFERRED-PROXY
- DIRECT
rules:
- DOMAIN-SUFFIX,zoom.us,Work-Meetings
- DOMAIN-SUFFIX,zoom.com,Work-Meetings
- DOMAIN-SUFFIX,slack.com,Work-Meetings
- DOMAIN-SUFFIX,slack-edge.com,Work-Meetings
- DOMAIN,meet.google.com,Work-Meetings
- MATCH,YOUR-DEFAULT-POLICY
These entries are examples, not an authoritative inventory of every endpoint used by the services. Apps can contact additional hosts for authentication, updates, media relay, telemetry, file sharing, and other functions. Hostnames can also change. Begin with the domains your client actually displays during a test call; add another match only when evidence shows that a connection needs a different policy. In particular, do not add a broad rule for all of googleapis.com, google.com, or a cloud provider just because Meet uses infrastructure from that ecosystem. Such a rule can capture unrelated work applications and personal browsing.
Rule order determines the result. Specific application rules must appear before a broad domain, geographic, or final catch-all rule that could match first. If your profile ends with MATCH, keep that rule at the bottom. Also check that your new rules are in the active configuration or override layer: editing a local file has no effect if the client is running a different profile, and some subscription updates can replace locally edited content.
- Zoom: start with observed Zoom application domains, then inspect the app’s connections while joining and speaking in a meeting. A browser login page alone does not represent the full desktop app’s traffic.
- Slack: messaging, calls, file previews, and workspace sign-in may use different destinations. Confirm that the specific connection you intend to route is matched, rather than assuming one hostname covers every Slack feature.
- Google Meet: a rule for
meet.google.comis a narrow starting point. If media or sign-in connections follow another route, identify their hostnames in the client before deciding whether to add a more specific rule.
For real-time media, changing the rule is only one part of the test. Some networks and clients handle UDP differently from TCP, and some conferencing paths may fall back to other transport behavior. Do not assume that enabling a particular protocol option will improve every call. Change one setting at a time, record the result, and check the application’s own connection or call-quality diagnostics where available.
A hands-on setup and call test
Use a short, controlled test so you can tell whether a change helped. First, save a copy of the active profile or note the client’s backup and restore path. Open Clash’s profile or configuration view and identify the active rule provider, current policy groups, and final catch-all rule. If the configuration belongs to a subscription, prefer the client’s documented override mechanism over editing a generated file that may be replaced on its next update.
- Record a baseline. With your current settings, join a low-stakes test call or a meeting where interruption is acceptable. Note the selected network, approximate time, app, and any visible quality indicators. Avoid changing networks, nodes, and application settings simultaneously; otherwise, you will not know which change affected the result.
- Create or select a meeting group. Reuse an existing selector if your profile already has one. If you create a new group, make sure its choices are actual proxies or valid groups in the configuration. Keep
DIRECTonly if direct routing is permitted and is a route you want to test. - Add narrow rules. Put observed Zoom, Slack, or Meet hostnames above broad rules. Start with a small set. Do not copy an unverified list from an old forum post: stale hostnames can give a false sense of coverage, while broad suffixes can catch traffic you never meant to include.
- Reload the active configuration. Use the client’s reload or update control and confirm that the rules are active. Check for YAML errors, missing group names, and an unexpected profile switch. A successful save does not prove that Mihomo accepted the configuration.
- Choose one route and place a test call. In the policy group, select a permitted route. Join the call, speak, listen, and—if appropriate—test screen sharing. Leave enough time for the app to establish its media connections; a browser page loading successfully is not a substitute for testing live audio and video.
- Compare alternatives methodically. Repeat the call under comparable conditions with another available route, or with direct routing if allowed. Compare call quality, connection stability, and the route shown for the relevant connections. Return to the prior configuration if the test makes performance worse.
Use the Connections or Logs view while the call is active. Filter for the app or inspect connections as they appear, then note the hostname, process where available, matched rule, and selected policy. A useful result is not merely “the call sounded better”; it is “the call’s relevant connections matched the meeting group, and this selected route remained stable during the test.” That evidence helps you avoid adding unnecessary domains when the actual issue is elsewhere.
If you do not see meeting traffic in Clash, pause before adding more rules. The application may be using a different network interface, the client may not be capturing that traffic, or the profile you edited may not be active. Check the client’s system proxy or TUN status and operating-system permissions according to its documentation. Do not enable multiple competing VPN or interception tools at once while diagnosing: overlapping network extensions, system proxies, or virtual interfaces can make the observed route misleading.
Verify the route, troubleshoot symptoms, and keep the policy small
After the first successful test, verify each service separately. Open Zoom and make a brief call, start a Slack huddle if that is part of your workflow, and join a Google Meet session. For each one, check whether its observed connections matched the intended group. Do not infer that all three work because one meeting loaded. Their apps, media services, login flows, and network behaviors can differ, and a rule for one service should not silently become a catch-all for the others.
When a call still stutters, separate routing problems from other causes. Compare the same meeting on another permitted route and, where practical, another network. Check whether other devices are saturating the connection, whether the selected node is congested, and whether the conferencing app reports packet loss or unstable media. A rule can select a path, but it cannot fix weak Wi-Fi, a failing headset, a busy access point, an overloaded relay, or an outage at the service provider.
- The expected rule does not match: check rule order, hostname spelling, the active profile, and whether the connection is visible to Clash. Inspect the actual hostname before adding a rule.
- The rule matches but the call remains poor: compare a different permitted route and inspect connection stability. A correct match proves policy selection, not route quality.
- Sign-in breaks after routing changes: check whether authentication or organization-managed services are being sent through a route they do not support. Restore the previous policy and follow your organization’s guidance before trying additional domains.
- Only screen sharing or media fails: inspect connections during that specific action. Different features may establish additional sessions, so test the failing feature rather than broadening rules blindly.
- Behavior changes after a profile update: recheck that your rules and groups still exist and remain active. Keep a brief change note so you can restore a known-good version quickly.
Keep the configuration maintainable. Give the group a clear name, document why each non-obvious rule exists, and remove entries that no longer appear in observed traffic or solve a verified problem. Re-test after client, profile, operating-system, or conferencing-app updates, because routing behavior and service hostnames can change. Avoid exposing subscription URLs, private workspace names, or sensitive connection details when sharing logs; redact them before asking for help.
Some consumer VPN apps make route selection simple but offer limited visibility into which individual application connection used which path; manually maintained per-app rules in other tools can also become difficult to audit. Clash’s practical advantage here is the combination of selectable policy groups, ordered domain rules, and connection-level evidence in compatible clients. That does not guarantee a better call on every network, but it gives you a clearer way to test a targeted meeting route without automatically sending every work site through a proxy. If you want to try that workflow, choose a compatible client for your platform and build from the profile you are authorized to use.