The 21-year-old has impressed during a loan spell with Bristol this season, but he was due to return to Bath at the end of the current campaign. However, he has now agreed a permanent transfer to the club.
"Ever since the beginning of my loan period, I've enjoyed Bristol. I was last year, albeit a handful of games, but I was here for a lot of the season. And, this season, I've been here all season and haven't been back to Bath for training," Mosses told the Bristol Evening Post.
"I love the club, I'm absorbed in it and it's a beautiful place to play, the Memorial Stadium. With the fans and the history, it's a massive club and I was so chuffed to put my name on a contract.
"I haven't officially been a Bristol player this season, so to become a full-time Bristol player is a big thing for me. It's something that has been on my mind for a long time - to finally get it done, I'm absolutely over the moon."
Mosses has made 16 appearances for Bristol this season.