Il 23 giugno 2007 fu ceduto ai Vancouver Canucks in cambio di Jason King e una scelta nel Draft 2009. Dopo aver partecipato al camp estivo dei Canucks fu mandato presso i Manitoba Moose nella AHL; nel corso della stagione 2007-08 fu chiamato per giocare 27 partite con Vancouver, raccogliendo 13 punti. Il 2 settembre 2008 Shannon fu scambiato con il giocatore degli Ottawa Senators Lawrence Nycholat.