I have some offshore investments. Do I have to claim that income on my US tax return?

If you are a US citizen, you are required to report and include any/all income you receive from anywhere in the world.  There are provisions to prevent double taxation, so if your income is taxed in the country of its origin, you’ll likely get a tax credit on your US taxes.  The tax agencies are also putting substantial effort into collecting information (and taxes!) on financial transactions in and out of the US.