Any company that complains about employees only having any given job for 1-2 years and then uses, or acts as, a contract company is a hypocrite.
Contracts are often 1-2 years at best, sometimes even less. So therefore even if you do a STELLAR job and your team wants to keep you unless there is an open position to apply to at that moment for permanent hire, it’s a “too bad so sad” situation.
Thusly, you not only are out of your contract role, but you are often not allowed to reapply to the company you were working at for 6 months to a year or longer.
So frankly any companies with recruiters saying anything like this get put on my list of “do not work for” even if it is just that one recruiter’s stance.
While managed contracts have no “end date” that does not mean that you will not be let go at the whim of the company that opened the position, and if the contract company has NO OTHER openings for you at the time, you are out of luck and a job because the originating company has no responsibility nor does the contracting company to pay you for their inability to place you.
Don’t even get me started about the competitor clauses that block contracting companies from placing you locally because the original placement doesn’t want you working in your type of role for ANYONE ELSE.