VMess Protocol

VMess is a common V2Ray-family protocol and often appears with TLS, WebSocket, gRPC or HTTP/2 transports.

Short answer

VMess is a common V2Ray-family protocol and often appears with TLS, WebSocket, gRPC or HTTP/2 transports. In real use, trust the provider subscription first and then verify whether the selected client core supports this exact type.

What It Means

In Clash/Mihomo configuration, vmess identifies the outbound type used by the node, policy or group. The same display name in a GUI can hide different transport fields, so the YAML or subscription output is more reliable than the node nickname.

Common Fields

  • type: vmess
  • uuid
  • alterId
  • cipher
  • tls / servername
  • network / ws-opts / grpc-opts / h2-opts

When to Use It

  • The subscription provides vmess nodes or vmess:// links.
  • The provider uses WS, gRPC, H2 or similar transports.
  • The client supports V2Ray/Mihomo-style syntax.

Support Checks Checks

  • alterId is commonly 0 in modern profiles, but the provider profile is authoritative.
  • TLS, SNI, path, Host and gRPC service name must match.
  • Classic Clash and Mihomo differ in newer transport-field support.

Minimal Shape

proxies:
- name: "vmess-node"
  type: vmess
  server: server.example.com
  port: 443
  uuid: 00000000-0000-0000-0000-000000000000
  alterId: 0
  cipher: auto
  tls: true
  network: ws
  servername: example.com

Compatibility Notes

Client support changes with the bundled core. A maintained Mihomo-based client usually supports more modern node types than historical Clash clients, but mobile clients and iOS alternatives still vary by app and release.

If a subscription contains this type but the client filters it out, switch to a compatible client, ask the provider for a compatible subscription format, or use a converter only when you understand what fields are being changed.

Official Reference

VMess in Mihomo docs