: Software agents comprise a new area for research and soon will be embedded and ubiquitous in modern computing systems. In this formative phase, it is important to develop comprehensive measures of excellence for evaluation. To criteria in the literature -- competence, completeness, correctness, efficiency, reliability, and trust -- we propose as an essential complement: user autonomy. In this paper we: (1) provide a definition and rationale for user autonomy in relation to software agents; (2) describe a framework for understanding how user autonomy can be promoted or undermined through the design of software agents; and (3) consider justifiable limitations on user autonomy.