--- title: "MVC1006: Methods containing TagHelpers must be async and return Task" description: "Learn about analysis rule MVC1006: Methods containing TagHelpers must be async and return Task" author: pranavkm monikerRange: '>= aspnetcore-3.1' ms.author: riande ms.date: 10/22/2021 uid: diagnostics/mvc1006 --- # MVC1006: Methods containing TagHelpers must be async and return Task | | Value | |-|-| | **Rule ID** |MVC1006| | **Fix is breaking or non-breaking** |Breaking| ## Cause A tag helper was defined inside a Razor function that executes synchronously ### Rule description Tag Helper execution is asynchronous. When used inside a method or a lambda within a Razor Page, the containing function must also be declared to be async. Consider the following cshtml file: ```razor void Helper(string controller) { Home } ``` `asp-controller` is a tag helper and will trigger this rule. ## How to fix violations Declare the function to be async and Task returning: ```razor async Task Helper(string controller) { Home } ``` ## When to suppress warnings Do not suppress a warning from this rule.