Interface agents are computer programs that provide personalized assistance to a user dealing with computer based applications. By understanding the tasks the user performs in a software application an interface agent could be aware of the context that represents the users focus of attention at each particular moment. With this purpose, plan recognition aims at identifying the plans or goals of a user from the tasks he1 performs. A prerequisite for the recognition of plans isknowledge of a users possible tasks and the combination of these tasks in complex task sequences, which describes typical user behavior. Plan recognition will enable an interface agent to reason about what the user might do next so that it can determine how to assist him. In this work we present the state of the art in Plan Recognition, paying special attention to the features that make it useful to interface agents. These features include the ability to deal with uncertainty, multiple plans, multiple interleaved goals, overloaded tasks, noisy tasks, interruptions and the capability to adapt to a particular user.