The 28-year-old agreed a four-year extension with Perpignan in 2013, but has activated a get-out clause after their relegation from France's Top 14.
Hook, who has 75 international caps, started his career at Neath before a five-year spell with Ospreys.
Although a versatile back, he prefers the number 10 position and is likely to fill the gap left at Kingsholm by Leicester-bound Freddie Burns.
"I would like to thank everyone at Perpignan for the past three years, which have been memorable," Hook told the Gloucester website.
"It's very disappointing to see the side relegated, but I'm sure they will bounce right back and I sincerely hope they do so.
"However, I'm absolutely delighted to be embarking upon the next exciting phase of my career as a Gloucester Rugby player."
Hook is the sixth international to join Gloucester for next season, following New Zealand prop John Afoa, Argentina lock Mariano Galarza, Wales hooker Richard Hibbard,Scotland scrum-half Greig Laidlaw and England lock Tom Palmer.
However, the Cherry and Whites have yet to announce who will take charge of the squad following the sacking of director of rugby Nigel Davies last month.
Hook, who was called-up to the 2009 British and Irish Lions tour to South Africa, had also been linked with newly-promoted French side Lyon, as well as a return to Ospreys.
"I was fortunate to have a number of options, but what stood out for me when I spoke to Stephen Vaughan was how much Gloucester wanted me to be part of their plans," he said.
"They have huge ambitions and made it clear to me the role they wanted me to play in that.
"The talent in the squad is terrific, the training facilities are top notch and it's a wonderful area for myself and my family to settle in."
Gloucester have signed Wales back James Hook on an undisclosed-length deal.