It sometimes happens that an employee resigns and then regrets it. In some such circumstances, an employee may be able to effectively rescind the resignation.
The law treats the tendering of a resignation as an offer to enter a contract regarding the terms of ending the employment relationship. Before the resignation is accepted, the employee can rescind it (i.e. withdraw the offer). But once the resignation is accepted, the contract is formed and the employee can’t rescind the resignation.
However, an employee may not be able to rescind an unaccepted resignation if the employer has relied on it to its detriment. That is, if the employer neither accepts nor rejects the resignation, but it takes steps assuming the employee will resign as they have stated, the employee may no longer have the option of withdrawing the resignation. An example of an employer’s detrimental reliance on a tendered resignation could be hiring a new worker to fill the role.
Note: when an employer “rejects” a resignation, it is merely rejecting the employee’s proposed terms for ending the employment relationship. It cannot force an employee to keep working indefinitely, of course.
If the employee resigns in an emotional outburst and shortly after regrets it, the employer may have to permit continued employment. This goes to the idea that a genuine resignation must be clear and unequivocal. An employee who purports they are quitting in a heated moment can take the position later that they didn’t mean it.
The analysis in this situation is nuanced, and reality and law don’t always converge. An employee who has purported to quit will be in a challenging position, if the employer refuses to allow him/her to continue working. Ideally, one would avoid this situation in the first place.
Proceed with caution
While a purported resignation may not always be final and binding, employees should be careful before quitting. In both practical and legal terms, there are significant challenges to getting your job back or financial compensation if the employer doesn’t allow you to return.