The move comes a little more than a month before H-1B applications for 2019 open on 2 April.
In a statement on 22 February, the USCIS said, "While an H-1B petition may be approved for up to three years, USCIS will, in its discretion, generally limit the approval period to the length of time demonstrated that the beneficiary will be placed in non-speculative work and during which the petitioner will maintain the requisite employer-employee relationship."
Thus far, the holder of an H-1B visa has been able to work for three years and then renew the visa for another three. Many US companies then push this period out further by applying for a green card and seeking leave for the holder to remain in the country until that application is processed.
The strictures mean that no outsourcing company can bring in someone on an H-1B and then have them work at a number of third-party sites.
The USCIS statement said: "When H-1B beneficiaries are placed at third-party worksites, petitioners must demonstrate that they have specific and non-speculative qualifying assignments in a specialty occupation for that beneficiary for the entire time requested on the petition."
Since Donald Trump became president just more than a year ago, the US has been clamping down on these visas. A large percentage of the visa holders are Indians who work in the technology industry.
There was talk recently that the government would not allow the renewal of the H-1B beyond six years. That was denied, apparently due to pressure from the business lobby. Now, the idea seems to have been revived.
A bill drafted by Republican Senator Orrin Hatch bill has sought to more than double the number of H-1B visas and also seeks to make it possible for the spouses of H-1B holders to obtain work permits, something the Trump administration has decided to abolish.