Den sommer blev Shannon byttet til Vancouver Canucks den 23. juni 2007 i bytte for Jason King og et betinget valg i
- I 2009. Han kom på Canucks' roster fra træningslejren, men blev sendt ned til Manitoba Moose i AHL efter flere kampe. Shannon blev senere kaldt op og spillede i alt 27 kampe for Canucks i 2007-08, hvor han scorede 13 point. Den 23. juli 2008 blev det annonceret, at Shannon havde underskrevet med Canucks.