 <p>I figured out how to do this using the <a href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.shell.interop.ivsregisternewdialogfilters.aspx" rel="nofollow">SVsRegisterNewDialogFilters service</a> (which was the missing piece of the puzzle).</p> <p>It enables you to supply an implementation of <a href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.shell.interop.ivsfilteraddprojectitemdlg.aspx" rel="nofollow">IVsFilterAddProjectItemDlg</a> implementation which is called whenever the add-project-item dialog is invoked (regardless who invokes it). It is called with a different project type GUID for Web / Silverlight projects than for unflavoured C# projects (so I can simply filter out our various template directories .</p>