Code-Switching in EFL Classrooms: Typology and Communicative Roles. The purpose of this study was to look into the types and functions of code-switching that are used in an EFL teacher classroom interactions. The teacher's interactions in this qualitative study were observed, recorded and subsequently transcribed. A multi-step analytical procedure that included data reduction, data visualization, and drawing/verifying findings was carried out. The findings showed that the teacher used three different types of as well as six functions of code-switching during interactions in the classroom. The types include tag switching (12), intra-sentential switching (37), and inter-sentential switching (62). Besides, the researcher found that the code-switching used by the teacher has the referential function (2), the directive function (31), the expressive function ( 20), the phatic function ( 18), the metalinguistic function ( 26) times, and poetic function (3). In conclusion, the use of codeswitching in class interactions can help students' comprehension and engagement in English language learning while considering the students level.