A. Laura Voinea [0000−0003−4482−205X] , Ornela Dardha [0000−0001−9927−7875] , and Simon J. Gay [0000−0003−3033−9091] Abstract. Multiparty Session Types (MPST) are a type formalism used to model communication protocols among components in distributed systems, by specifying type and direction of data transmitted. It is standard for multiparty session type systems to use access control based on linear or affine types. While useful in offering strong guarantees of communication safety and session fidelity, linearity and affinity run into the well-known problem of inflexible programming, excluding scenarios that make use of shared channels or need to store channels in shared data structures.In this paper, we develop capability-based resource sharing for multiparty session types. In this setting, channels are split into two entities, the channel itself and the capability of using it. This gives rise to a more flexible session type system, which allows channel references to be shared and stored in persistent data structures. We illustrate our type system through a producer-consumer case study. Finally, we prove that the resulting language satisfies type safety.We now introduce a type system for the multiparty session π-calculus. The general methodology of multiparty session types is that system design begins with a global type, which specifies all of the communication among various roles. Given a global type G and a role p, projection yields a session type or local type G p that describes all of the communication involving p. This local type can be further projected for another role q, to give a partial session type that describes communication between p and q.