Start the agent from the directory with the `.env` file:
`woodpecker-agent`
:::note
When using the `local` backend, the
[plugin-git](https://github.com/woodpecker-ci/plugin-git) binary must be in
your `$PATH` for the default clone step to work. If not, you can still write a
manual clone step.
:::
## Further configuration
### Specify the shell to be used for a pipeline step
The `image` entry is used to specify the shell, such as Bash or Fish, that is
used to run the commands.
```yaml title=".woodpecker.yml"
steps:
build:
image: bash
commands: [...]
```
### Plugins as Executable Binaries
```yaml
steps:
build:
image: /usr/bin/tree
```
If no commands are provided, we treat them as plugins in the usual manner.
In the context of the local backend, plugins are simply executable binaries, which can be located using their name if they are listed in `$PATH`, or through an absolute path.
### Using labels to filter tasks
You can use the [agent configuration options](../15-agent-config.md#woodpecker_filter_labels)
and the [pipeline syntax](../../20-usage/20-workflow-syntax.md#labels) to only run certain
pipelines on certain agents. Example:
Define a `label``type` with value `exec` for a particular agent:
```ini
# .env for the agent
WOODPECKER_FILTER_LABELS=type=exec
```
Then, use this `label``type` with value `exec` in the pipeline definition, to
only run on this agent:
```yaml title=".woodpecker.yml"
labels:
type: exec
steps: [...]
```
### Change temp directory
We use the default temp directory to create folders for workflows.