James was an All-American all four years at Virginia and led the PGA Tour University ranking to earn a card through the 2027 season.
"It all kind of came together today. It was just one of those days," James said after the second round in Caledon on Friday. "The putter was good, hitting fairways, had good numbers, and was able to capitalise on a pretty tricky scoring day."
James was at 10-under 130, one shot ahead of a group of five players that included Sam Burns, who played in the final group at the Memorial last week and tied for fourth.
Brooks Koepka had a 68 and was two shots behind, along with Tommy Fleetwood.
No Australians made the cut, with Declan O'Donovan the only one in red figures, finishing at one under after rounds of 70 and 69.
Karl Vilips finished even with the card after rounds of 69 and 71, while Cameron Davis couldn't back up his promising first-round four-under 68 and will have the weekend off after a second-round 76 left him at four over.
James played bogey-free on the Osprey Valley course at TPC Toronto and goes into the weekend having not made a bogey in his past 33 holes. This is his 10th PGA Tour event, including two US Opens, but first one as a pro.
Burns had a 67 and was at 131 along with Jackson Suber (65), Haotong Li (64), Keith Mitchell (64) and Jesper Svensson (65).
Fleetwood, who lost in a playoff at the Canadian Open three years ago when Nick Taylor holed a remarkable 72-foot eagle putt, had a 65 and joined Koepka in a group two back that included New Zealander and defending champion Ryan Fox (66).
Koepka was slowed at the start of his round when he lost his tee shot on the 13th and had to scramble for double bogey, then bogeyed the par-3 14th.
He also had four birdies and an eagle on the back nine - he started on No.10 - the latter coming off a 379-yard drive on the par-5 18th.
A highlight of the second round was a hole-in-one by American David Lipsky at the par-3 14th hole.
However, it was a case of too little too late for Lipsky, who missed the cut by one shot after rounds of 69 and 70 to finish at one under for the tournament.
Eric Cole, who was part of a six-way tie for the lead after 18 holes, started with a triple bogey and his day never got much better. He shot 76 to miss the cut.