Abstract.To provide efficiency, current BDI agent programming languages with declarative goals only support a limited form of rationality -they ignore other concurrent intentions of the agent when selecting plans, and as a consequence, the selected plans may be inconsistent with these intentions. In this paper, we develop logical foundations for a rational BDI agent programming framework with prioritized declarative goals that addresses this deficiency. We ensure that the agent's chosen declarative goals and adopted plans are consistent with each other and with the agent's knowledge. We show how agents specified in our language satisfy some key rationality requirements.