> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tilebox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Client.runner

```python theme={"system"}
def Client.runner(
  cluster: ClusterSlugLike | None = None,
  tasks: list[type[Task]],
  cache: JobCache | None = None
) -> TaskRunner
```

Initialize a task runner.

## Parameters

<ParamField path="cluster" type="str | None">
  The [cluster slug](/workflows/concepts/clusters#managing-clusters) for the cluster associated with this task runner.
  If not provided, the default cluster is used.
</ParamField>

<ParamField path="tasks" type="list[type[Task]]">
  A list of task classes that this runner can execute.
</ParamField>

<ParamField path="cache" type="JobCache">
  An optional [job cache](/workflows/caches) for caching results from tasks and sharing data between tasks.
</ParamField>

<RequestExample>
  ```python Python theme={"system"}
  from tilebox.workflows import Client
  from tilebox.workflows.cache import LocalFileSystemCache

  client = Client()
  runner = client.runner(
      tasks=[MyFirstTask, MySubtask],
      # optional:
      cache=LocalFileSystemCache("cache_directory"),
  )
  ```
</RequestExample>
