How to disable auto done status for task in checkin

When you are in the Pending Changes panel ready to check in your fix and you associate you work item with the changeset you should change "Resolve" to "Associate" (or what ever it is in Scrum).

Pending Changes


To make this the Default is more complicated.

You will need to edit the Work Item Template definition for the types of work items you are using (Bug, Task, etc.).

One option is to remove the "Resolve" option altogether, you can do this as follows:

Open the XML for your Work Item Type (or the GUI in the Power Toys if you prefer): Find and remove the:

  • <ACTION> <ACTION value="Microsoft.VSTS.Actions.Checkin" /> </ACTION>

section from your template - it will be in the <TRANSITIONS> against a particular transition between 2 states.

Doing this means TFS will never transition your work item as part of your checkin, you will have to do it every time.

The other option is to add a new work item "State" (e.g. "Under Development") that doesn't have an ACTION of Checkin. You can then transition you work items to this state whist working on them and then back to "Assigned" (or whatever) before checking them in in and "Resolving" them.

The Professional Team Foundation Server 2010 book from Wrox will help with WIT editing.

There are probably more ways to do this, it all depends on the team and environment you work in :).


There is also another way to do this that only affects your client machine:

To make “Associate” the default action (instead of “Resolve”), set the registry key

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinAction to False.

N.B. Replace 12.0 (for VS2013) with 14.0 for VS2015, 11.0 for VS 2012 or 10.0 for VS 2010.


Now you can upgrade to VS2015 (if already didn't do so) and uncheck the new checkbox Tools > Options > Source Control > Visual Studio Team Foundation > "Resolve associated work items on check-in". After that, "Associate" becomes the default option and you won't need to change it manually on commit