Lamu Airport is on Manda Island, and boats across the channel to Lamu cost KSh100. You'll be met by ‘guides’ at the airport who will offer to carry your bags to the hotel of your choice for a small consideration (about KSh200). Many double as touts, so be cautious about accepting the first price you're quoted when you get to your hotel.
There are several daily flights to Nairobi (from US$108, two hours) with Fly540, Airkenya, Skyward Express (www.skywardexpress.co.ke) and Safarilink. Safarilink and Airkenya fly to Nairobi Wilson. A single Skyward Express flight serves Mombasa (US$80, 45 minutes, daily) while Fly540 and Fly-SAX (www.fly-sax.com) fly daily to Malindi (US$45, 30 minutes).
There are booking offices for the main bus companies either on Kenyatta Rd or along the waterfront. Buses leave from the jetty on the mainland and dock at Lamu's main jetty. The going rate for a trip to Mombasa (eight to nine hours) is KSh1100 to KSh1300. Most buses leave between 7am and 8am (11am and 1pm departures with Tawakal); the first connecting mtabotis (motorboat taxis) leave Lamu Town between 6am and 6.30am. Book bus tickets in advance and be on time; buses leave on the dot and will resell the seats of late-coming passengers further up the line. The most reliable companies are Simba, Tahmeed and Tawakal; Tawakal is the fastest.
At the time of writing, armed guards were on every Lamu-bound bus from Mombasa and all vehicles were required to travel in convoy between Witu and Garsen.
Coming from Mombasa to Lamu, buses will drop you at the mainland jetty at Mokowe. From there you can either catch a mtaboti (KSh100, 30 minutes) or a speedboat (KSh150, 10 minutes). Don't listen to touts who try to tell you that you need to charter your own mtaboti.