Regardless of any at will policy or contract, it is illegal to fire an employee for any discriminatory reason, in whole or part, based on age, sex, race, religion, national origin, sexual orientation, disability, veteran's status, and other protected areas.
Illegal reason for termination: Retaliation
It is also illegal to fire an employee to retaliate against the employee for his or her complaints of illegalities in the workplace.
Illegal reason for termination: Breach of Contract
It is also illegal to fire an employee if it will breach any actual or implied contract for continued employment or policies or conditions on how it is to happen.