The 32-year-old Welshman spent nine years at the club before joining Bath back in 2012.
James has made 59 appearances for the West Country outfit during his time at the Recreation Ground.
"I can't speak highly enough of the people here at Bath, in terms of both the club and its supporters," he told the team's official website.
"From a family perspective, it's been a wonderful experience for us living here too, but it's the right time for us to move back home to Wales. However, there's still a lot to play for here at Bath and I look forward to finishing this season on a high with the team."
Bath are back in action on Saturday when they host London Welsh in the LV= Cup.