---
title: 'ARC0010: Synchronous handler wrapped in a Promise'
editUrl: https://github.com/Cratis/Arc.TypeScript/edit/main/Documentation/code-analysis/ARC0010.md
description: Avoid unnecessary async handlers without await.
---


## What

An async command `handle()` has no `await`, `for await`, or returned asynchronous value. Rule: `arc-core/arc0010`.

## Why

Arc accepts synchronous responses directly. Do not remove `async` mechanically when it changes an existing promise-returning contract or rejection semantics.

## Bad

```ts
@command()
export class GetValue { async handle() { return 3; } }
```

## Good

```ts
@command()
export class GetValue { handle() { return 3; } }
```
