Asynchronous session subtyping has been studied extensively in [9, 10, 28-31] and applied in [23, 32, 33, 35]. An open question was whether this subtyping relation is decidable. This paper settles the question in the negative. To prove this result, we first introduce a new subclass of two-party communicating finite-state machines (CFSMs), called asynchronous duplex (ADs), which we show to be Turing complete. Secondly, we give a compatibility relation over CFSMs, which is sound and complete wrt. safety for ADs, and is equivalent to the asynchronous subtyping. Then we show that the halting problem reduces to checking whether two CFSMs are in the relation. In addition, we show the compatibility relation to be decidable for three sub-classes of ADs. c Fig. 1. Asynchronous subtyping and compatibility: examples. precise taking the standard interpretation of type T as the set of processes typed by T [9, 16]. An open question in [9, 10, 28-31] was whether the asynchronous subtyping relation is decidable, i.e., is there an algorithm to decide whether two types are in the relation. The answer to that question was thought to be positive, see [10, § 7] and § 6. Asynchronous subtyping, informally. In this work, we consider session types in the form of CFSMs [4], along the lines of [3, 14, 15, 25]. This enables us to characterise the asynchronous subtyping in CFSMs and reduce the undecidability problem to the Turing completeness of CFSMs. Consider a system of CFSMs consisting of machines M s (server) and M c (client) in Figure 1, which communicate via two unbounded queues, one in each direction. A transition !a represents the (asynchronous) emission of a message a, while ?a represents the receptions of a message a from a buffer. For instance, the transition labelled by !req in M c says that the client sends a request to the server M s , later the server can consume this message from its buffer by firing the transition labelled by ?req. We say that the system pM s , M c q, i.e., the parallel composition of M s and M c , is safe if (i) the pair never reaches a deadlock and (ii) whenever a message is sent by one party, it will eventually be received by the other. The key property of session subtyping is that, e.g., if the system pM s , M 1 c q is safe and M c is a subtype of M 1 c , the system pM s , M c q is also safe. We write ď a for the asynchronous subtyping relation, which intuitively requires that, if, e.g., M c ď a M 1 c , then M c is ready to receive no fewer messages than M 1 c and it may not send more messages than M 1 c. For instance, M c can receive all the messages that M 1 c can handle, plus the message err. Observe that M c is an optimised version of M 1 c wrt. asynchrony: the output action !data is performed in advance of the branching. Thus in the system pM s , M c q, when both machines are in state 2 (respectively), both queues contain messages. Instead, in the system pM s , M 1 c q, it is never the case that both queues are non-empty. Note that anticipating the sending of data in M c does not affect safety as ...