---
title: 'ARC0004: Command has no instance handle'
editUrl: https://github.com/Cratis/Arc.TypeScript/edit/main/Documentation/code-analysis/ARC0004.md
description: Put an instance handler on each decorated command or its base class.
---


## What

`@command()` requires an instance `handle()` method, either on the command or inherited from a base class. Rule: `arc-core/arc0004`.

## Why

A missing or static handler cannot be invoked through the command pipeline. TypeScript `private` and `protected` only restrict compile-time access: the runtime can invoke those handlers, so the rule does not reject them.

## Bad

```ts
@command()
export class Register { static handle() {} }
```

## Good

```ts
@command()
export class Register { handle() {} }
```
