The tool switching problem consists of N jobs which must be processed on a single flexible machine. The machine contains a tool magazine which has a limited capacity of C slots. Each job requires a set of tools and the total number of tools, M, required to process all N jobs is greater than C. The problem is to find a job sequence and the tools to be loaded on the machine before each job in the sequence such that the total number of tool switches is minimized. A variety of tabu search algorithms for solving this problem are proposed. The algorithms are tested on some random test problems and are compared with the basic algorithm. Computational results show that the use of recency-based and frequency-based memory along with strategic oscillation produce the best results.