A fundamental feature of intelligent agents is their ability to deliberate over their goals. Operating in an environment that may change in unpredictable ways, an agent needs to regularly evaluate whether its current set of goals is the most appropriate set to pursue. The management of goals is thus a key aspect of an agent’s architecture. Focusing on BDI agents, we consider the various types of goals studied in the literature, including both achievement and maintenance goals. We develop a detailed description of goal states (such as whether goals have been suspended or not), and a comprehensive suite of operations that may be applied to goals (including dropping, aborting, suspending and resuming them). We provide an operational semantics corresponding to this detailed description in an abstract agent language (CAN), and demonstrate on a detailed real-life scenario. The three key contributions of our generic framework for goal states and transitions are (1) to encompass both goals of accomplishment and rich goals of monitoring, (2) to provide the first specification of abort and suspend for all the common goal types, and (3) to account for plan execution as well as the dynamics of subgoaling. Our semantics clarifies how an agent can manage its goals, based on the decisions that it chooses to make, and further provides a foundation for correctness verification of agent behaviour.