BC Cycle Tourism Society

To and Fro: moving your bike around British Columbia

My bike and I are in and we’d like to be in .
We show what transit connections accept bikes. Check with the operator for prices, schedules, and reservations.
Same place twice. You’re already there, so enjoy the ride.

Good news: buses and flights can carry you and your bike from Castlegar to Armstrong.

For scale
As the crow flies166 km
Biking whole way286 km · 21 h 05 m
By car368 km · 4 h 11 m

We found six ways to get you there.

🎒 Riding a coach? Most BC coach operators want your bike bagged or boxed. Our field note walks through packing it, including an inexpensive packable bike bag we like: How to bike-and-bus in BC ›
Note: Most carriers carry only a handful of bikes, and summer weekends fill up fast. Reserve where you can. Where you can't, go early or have a backup plan.
Option one · three legs⚠ doesn't run every day — check the schedule
Coach buses, grab a window seat.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – VancouverCastlegar →Hope341 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌EbusVancouver – KelownaHope →Kelowna (Orchard Park Mall)194 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option two · three legs⚠ doesn't run every day — check the schedule
The same idea as Option one, on different routes.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – VancouverCastlegar →Hope341 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌EbusVancouver – Kamloopsor Ebus (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Hope →Kamloops164 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Kelowna (via Salmon Arm)Kamloops →Armstrong121 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option three · four legs⚠ doesn't run every day — check the schedule
Beautiful BC from a coach window.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – VancouverCastlegar →Main & 89th St (Osoyoos)144 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎BC Transit40 Osoyoos / PentictonMain & 89th St (Osoyoos) →Duncan & Main (Plaza) (Penticton)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit70 Kelowna / PentictonDuncan & Main (Plaza) (Penticton) →Kelowna (Orchard Park Mall)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option four · four legs⚠ doesn't run every day — check the schedule
The same idea as Option three, on different routes.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – VancouverCastlegar →Keremeos177 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎BC Transit50 Penticton / PrincetonKeremeos →Cherry Lane Shopping Centre (Penticton)35 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Cherry Lane Shopping Centre (Penticton) to Duncan & Main (Plaza) (Penticton), about 4.3 km. If pedalling it doesn't appeal, Klassic Taxi, Penticton Eco Taxi might help.
🚎BC Transit70 Kelowna / PentictonDuncan & Main (Plaza) (Penticton) →Kelowna (Orchard Park Mall)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Show three moreShow fewer
Option five · four legs⚠ doesn't run every day — check the schedule
Option one, plus a city bus at the start.
CarrierRideYour bike
🚎BC Transit99 Kootenay ConnectorHwy 3A at Ootischenia Rd (Brilliant) →1680 Hwy 3A/6 (Nelson)31 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)1680 Hwy 3A/6 (Nelson) →Calgary AB515 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
The only ground service between Cranbrook and Calgary; weekly, eastbound Monday and westbound Tuesday.
🚌EbusVancouver – Calgary (Hwy 1)or Rider Express (Vancouver – Calgary (Hwy 1))Calgary AB →Golden215 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
Runs the same Highway 1 corridor as Rider Express, so compare schedules and fares.
🚌EbusKelowna/Salmon Arm – GoldenGolden →Armstrong207 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Not an option · two legs🚫 not possible with a bike
Two coach buses, changing in Kelowna.
🚫  This chain exists, but Silver City Stagelines does not carry bikes, so it cannot work with yours. We show it so you can see where the connection breaks.
CarrierRideYour bike
🚌Silver City StagelinesTrail – Kelowna (Hwy 3/33)Castlegar →Kelowna (Orchard Park Mall)211 kmDoes not carry bikes
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option seven · three legs✈ the splurge
The scenic splurge: hop a flight.
CarrierRideYour bike
✈️Air CanadaVancouver (YVR) – Castlegar (YCG)Castlegar →Vancouver Airport (YVR) (Richmond)402 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
✈️Air CanadaVancouver (YVR) – Kelowna (YLW)Vancouver Airport (YVR) (Richmond) →Kelowna Airport288 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
🚌EbusKamloops – Kelowna (via Salmon Arm)Kelowna Airport →Armstrong56 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Route facts last checked July 2026. We check that every leg here carries bikes, but policies and seasons change. Check times and book with the operator. Something wrong or out of date? Tell us and we'll fix it.
Explore more

Heading back: Armstrong to Castlegar (best: bus)

Connections from Castlegar: Salmo (best: bus) · Maple Ridge (best: bus + SkyTrain) · Gabriola Island (best: bus + SkyTrain + ferry) · Haida Gwaii (best: bus + train + ferry)

Connections from Armstrong: Sicamous (best: bus) · Cranbrook (best: bus) · Mayne Island (best: bus + SkyTrain + ferry) · Haida Gwaii (best: bus + train + ferry)

Check out BC Bike Stops in Castlegar and Armstrong