Spot gold increased 0.3 percent to $1,258.52 per ounce by 1:36 p.m. EDT (1736 GMT). The session high of 1,265.87 was its highest since June 26. US gold futures for August delivery settled up $3.80, or 0.3 percent, at $1,259.60 per ounce.
"Most likely the yuan will remain volatile but (I don't expect ...) aggressive weakness, so that means the only thing that is driving gold at the moment is the dollar, which is somewhat weaker," said Georgette Boele, commodity strategist at ABN AMRO.
The yuan rose in offshore markets against the dollar, further off the lows hit in June when it notched its biggest ever monthly fall. The US dollar index weakened early and the euro gained, but the dollar bounced higher in later trading.
A weak dollar makes greenback-denominated gold cheaper for holders of other currencies, especially in Europe when the euro rises. The euro hit a session high after European Central Bank Governing Council member Ewald Nowotny said the bank could decide this month to end bond buying by the end of this year. Some investors had bought gold to cover their short positions, said OCBC analyst Barnabas Gan.
Additionally, Britain's Brexit Secretary David Davis said he resigned to try to stop Prime Minister Theresa May from handing too much power to the European Union.
"A little buying could've also come from the North Korea meeting that didn't exactly go great," said RJO Futures' Josh Graves. Donald Trump raised concerns that Beijing may be seeking to derail North Korea denuclearization efforts, though said he was confident Pyongyang leader Kim Jong Un will uphold his end of the deal.
Graves said Monday's gold price increase will likely be temporary. Meanwhile, silver rose 0.6 percent at $16.10 an ounce and platinum gained 0.4 percent at $844. Both metals earlier hit their highest since June 27. Palladium gained 0.5 percent to $958 an ounce, reaching $967.50, its highest since June 21.