> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-12.md).

# AddCommandHandler(string,System.Action\<T1, T2, T3>)

Method in [DialogueRunner](/2.2/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md)

## Summary

Adds a command handler. Dialogue will pause execution after the command is called.

```csharp
public void AddCommandHandler<T1, T2, T3>(string commandName, System.Action<T1, T2, T3> handler)
```

## Remarks

When this command handler has been added, it can be called from your Yarn scripts like so:

```
<<commandName param1 param2>>
```

If `handler` is a method that returns a `Coroutine`, when the command is run, the [DialogueRunner](/2.2/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) will wait for the returned coroutine to stop before delivering any more content.

## Parameters

| Name                                | Description                                                           |
| ----------------------------------- | --------------------------------------------------------------------- |
| `string` commandName                | The name of the command.                                              |
| `System.Action<T1, T2, T3>` handler | The `CommandHandler` that will be invoked when the command is called. |
