Forecasts of widespread range shifts with climate change stem from assumptions that climate drives species' distributions. However, local adaptation and biotic interactions also influence range limits and thus may impact range shifts. Despite the potential importance of these factors, few studies have directly tested their effects on performance at range limits. We address how population-level variation and biotic interactions may affect range shifts by transplanting seeds and seedlings of western North American conifers of different origin populations into different competitive neighborhoods within and beyond their elevational ranges and monitoring their performance. We find evidence that competition with neighboring trees limits performance within current ranges, but that interactions between adults and juveniles switch from competitive to facilitative at upper range limits. Local adaptation had weaker effects on performance that did not predictably vary with range position or seed origin. Our findings suggest that competitive interactions may slow species turnover within forests at lower range limits, whereas facilitative interactions may accelerate the pace of tree expansions upward near timberline.