---
title: 'ARC0005: Provided value has no consumer'
editUrl: https://github.com/Cratis/Arc.TypeScript/edit/main/Documentation/code-analysis/ARC0005.md
description: Bind preparation values to command handlers.
---


## What

A `provide()` method directly returns data while `handle()` accepts no parameters. Rule: `arc-core/arc0005`.

## Why

The value is prepared but cannot be used by the handler. This rule only checks direct returns, not conditional or nested branches; control outcomes such as `rejected(...)` and `denied(...)` are exempt.

## Bad

```ts
@command()
export class Register {
    provide() { return new Tasks(); }
    handle() {}
}
```

## Good

```ts
@command()
export class Register {
    provide() { return new Tasks(); }
    handle(tasks: Tasks) { tasks.register(); }
}
```
