# Local Dev with Render Workflows


> *[Render Workflows](workflows) are in limited early access.*
>
> During the early access period, the Workflows API and SDKs might introduce breaking changes.

You can run workflow tasks on your local machine to iterate on them quickly. The Render CLI supports spinning up a *local task server* that simulates the entire task execution lifecycle. You can trigger task runs from your application code, or from the CLI itself.

As you iterate on your task definitions, the local task server picks up changes automatically. It also retains in-memory logs and results for each run (these are lost on server shutdown).

## Prerequisites

*Your development machine must have:*

- The Render CLI version 2.4.2 or later
  - [Install the Render CLI](cli#setup)
- A workflow project repo that defines and registers tasks
  - [Create your first workflow](workflows-tutorial)

## Starting the task server

From your workflow project repo, run the following command:

```shell
render ea tasks dev -- <WORKFLOW_START_COMMAND>
```

Replace `<WORKFLOW_START_COMMAND>` with the command to start your workflow. This is commonly `python main.py`:

```shell
render ea tasks dev -- python main.py
```

**Command not found?**

- Make sure you've [installed the Render CLI](cli#setup).
- Run `render --version` to confirm you're using version 2.4.2 or later.

Your local task server spins up and starts listening on port `8120`.

You can specify a different port with the `--port` option:

```shell
render ea tasks dev --port 8121 -- python main.py
```

## Triggering local task runs

### In application code

> **This section assumes you have an existing app that runs workflow tasks.**
>
> If you don't, first get set up with [Running Workflow Tasks](workflows-running).

You can configure your locally running apps to point to your local task server when triggering task runs. How you do this depends on whether your app uses the Workflows SDK or the Render API:

**Workflows SDK (Python)**

If your app uses the Workflows SDK to trigger task runs, set the following environment variable(s) to run tasks against your local task server:

```bash:.env