He signed for Carlisle on a half-season loan contract in July 2013,[4] and made his professional debut on the opening day of the 2013–14 season in Carlisle's 5–1 home defeat to Leyton Orient.[5] However, he suffered an injury shortly before half time in Carlisle's penalty shoot-out victory against Blackburn Rovers in the League Cup on 7 August,[6] and returned to Manchester United on 24 September 2013.[7]
After returning to Manchester United, James was ever-present in the club's reserve team for the remainder of the season, and his performances led to a nomination for the Denzil Haroun Reserve Player of the Year award, ultimately losing to Saidy Janko.[8] He made his first-team debut in the opening match of the club's pre-season tour of the United States on 23 July 2014, and scored twice from a left-wing-back role as Manchester United beat the LA Galaxy 7–0.[9] On 26 August 2014, he made his only United first-team appearance in the League Cup defeat to Milton Keynes Dons.[10]
On 26 November 2014, James was sent on loan to Rotherham United for two months. After eight appearances, including one in the FA Cup, he returned to Manchester United on 26 January 2015. On 26 March, he joined Huddersfield Town on loan until the end of the 2014–15 season.[11] He made his debut in the 1–1 draw against Sheffield Wednesday at Hillsborough Stadium on 4 April 2015.[12] His first goal for the club came in the 4–4 draw with Derby County at the John Smith's Stadium on 18 April 2015, when he scored directly from a corner to give Town a 3–1 lead.[13]
Wigan Athletic
On 21 July 2015, James joined Wigan Athletic on a three-year deal for an undisclosed fee.[14] After being largely ever-present for the first half of the season, an injury suffered in a 3–1 victory over Chesterfield, in which James scored his first goal for the club,[15] led to him missing the remainder of the 2015–16 season and the majority of the following season.[16][17]
He was released by Wigan at the end of the 2017–18 season.[18]
Sunderland
He subsequently signed a one-year deal with Sunderland on 2 July 2018.[19]
Doncaster Rovers
James signed for Doncaster Rovers on a two-year deal on 19 June 2019 for an undisclosed fee. On 5 October, he scored his first goal for the club in a 2–1 defeat against Portsmouth.[20][21]
Blackpool
After two years at Doncaster, James joined Championship club Blackpool on 1 July 2021 on a three-year deal.[22]
Sheffield Wednesday (loan)
On 7 July 2022, James joined Sheffield Wednesday on loan for the duration of the season.[23] He made his debut against Sunderland in the EFL Cup on 10 August 2022.[24] James was shown a red card in his first start for the club against Peterborough United.[25] His first goal for the club came against Peterborough United in the second leg of the play-off semi-final.[26]
Permanent move to Sheffield Wednesday
On 30 June 2023, James joined Sheffield Wednesday for an undisclosed fee.[27] He made his permanent debut against Southampton on 4 August 2023 coming off the bench.[28] On 17 May 2024, it was confirmed he would be released following the expiration of his contract.[29]
Return to Rotherham United
On 22 May 2024, it was confirmed James would return to Rotherham United on a two-year deal.[30]