October to March is the prime season. This is when whale sharks congregate in Chole Bay, the sea is calm, and the rains are minimal. December through February is peak season; book flights and lodges months in advance.
April and May bring the long rains (masika). Many lodges close, flights become unreliable, and the seas can be rough. Avoid this period.
June to September is the short dry season. The whale sharks have typically moved on, but diving conditions can be excellent — calm seas, good visibility, and fewer visitors. This is the best time to come if marine life other than whale sharks is your priority, and prices are lower.
November is increasingly popular: the whale sharks have arrived, prices are not yet at peak, and the island is relatively quiet.