He made his first-team debut for Rangers on 8 December 2012, aged only 16 years and 150 days, in a Scottish Third Division match against Stirling Albion.
[9] He scored his first professional goal in his second appearance for Stenhousemuir on 18 October, against Stirling Albion, adding the fourth in a 4–0 win.
On 17 July 2016, Walsh joined Scottish Championship club St Mirren on loan until January 2017.
[14] After leaving Rangers he played two games as a substitute for Limerick in the League of Ireland against Shamrock Rovers[15] and Derry City.
After leaving Inverness Caledonian Thistle Walsh joined his local team Ayr United.
[19] Walsh would struggle with injury early on, but returned in the latter half of the season to help the club stay up in the Championship.