"I read that 3,000 soldiers are arriving, Marines armed as if they were going to war. There is not a shortage of guns there, my God. Doctors, medicine, fuel, field hospitals, that's what the United States should send," Chavez said on his weekly television show. "They are occupying Haiti undercover."
"On top of that, you don't see them in the streets. Are they picking up bodies? ... Are they looking for the injured? You don't see them. I haven't seen them. Where are they?"
Chavez promised to send as much gasoline as Haiti needs for electricity generation and transport.
A perennial foe of US "imperialism," Chavez said he did not wish to diminish the humanitarian effort made by the United States and was only questioning the need for so many troops.
The United States is sending more than 5,000 Marines and soldiers to Haiti, and a hospital ship is due to arrive later this week.
The country's president said US troops would help keep order on Haiti's increasingly lawless streets.
Venezuela has sent several planes to Haiti with doctors, aid and some soldiers. A Russia-Venezuela mission was set to leave Venezuela on Monday carrying aid on Russian planes.
Chavez said Venezuela's planes were the first to land in Haiti after Tuesday's 7.0 magnitude earthquake, which wrecked the capital Port-Au-Prince and killed as many as 200,000 people.