A system and method providing a user definable task based interface is described. A software program typically includes a number of tools. The tools may be utilized to perform operations on data, such as creating or editing a file using the software program. A user of the software program may organize the tools into tasks, based on the what the tools are used for. A task may be defined as a set of tools grouped to facilitate a particular work item. The task and associated tools are then presented together in the user interface. For example, a task may be to “draw a foundation.” The tools necessary for drawing a foundation may include measuring, drawing boundaries, etc. The tools for these steps in drawing the foundation may be grouped together into a task. The task and associated tools may then presented to a user via a user interface for the software program. For example, an icon representing the task “draw a foundation” may be presented in the user interface. The user may select the icon of the name of the task and be presented with the tools necessary to accomplish the task. Users of the software program may be given the ability to customize the user interface and define the tasks and tools presented in the user interface. The definitions may be stored in a central location and be used by multiples users and files.