Hansson begon zijn carrière bij SK Brann. Toen zijn vader, oud-voetballer Patrik Hansson, begin 2013 assistent-trainer werd bij het Zweedse Kalmar FF ging hij daar ook in de jeugd spelen. Medio 2013 keerde hij terug bij SK Brann, alwaar hij in het hoogste jeugdelftal werd geplaatst.[1] In 2015 maakte hij zijn debuut in de hoofdmacht van SK Brann. Hij zou in 2015 twee keer in actie komen voor SK Brann. In de zomer van 2015 sloot hij zich aan in de jeugdacademie van Feyenoord, waar hij sinds 2013 al een paar keer op stage was geweest. Vanaf het seizoen 2016-2017 zat hij officieel bij de eerste selectie van Feyenoord, hoewel hij wekelijks met de O19 mee bleef spelen. Op 12 maart 2017 maakte hij zijn opwachting in het eerste elftal in het Eredivisieduel tegen AZ. De offensief ingestelde middenvelder viel na 83 minuten in voor Steven Berghuis. Feyenoord won de wedstrijd in eigen huis met 5-2.
Op 3 mei 2017 verlengde Hansson zijn contract met 2 jaar. In de zomer van 2018 werd Hansson voor een jaar verhuurd aan RKC Waalwijk. Op 10 december 2018 maakte het management van Hansson bekend dat hij er definitief voor heeft gekozen om in het vervolg van zijn loopbaan als international voor Zweden uit te willen komen.[2] Op 19 augustus 2019 werd hij verkocht aan Hannover 96. In januari 2020 werd Hansson tot het einde van het seizoen verhuurd aan RKC Waalwijk.
Op 10 juni 2020 tekende Hansson een vierjarig contract bij Fortuna Sittard, dat hem overnam van Hannover 96. In januari 2022 ging hij naar Heracles Almelo.