---
title: 'Mullet’s delegation tools are now opt-in'
canonical: 'https://www.dealmobile.co.uk/writing/delegation-is-now-opt-in'
url: 'https://www.dealmobile.co.uk/writing/delegation-is-now-opt-in'
type: Post
published: '2026-10-26'
summary: 'Mullet 2.4.0 turns the older delegation tools off by default. They send work to another model provider, so they now run only when you set MULLET_DELEGATION=on. Jobs, Trawl search and status are unchanged.'
---

# Mullet’s delegation tools are now opt-in

Published 2026-10-26

![What runs without being asked in Mullet 2.4.0. The job commands, plan, run and merge: on. Trawl search, status and budget: on. The delegation tools mullet_run, mullet_delegate, mullet_opencode and mullet_swarm: off until MULLET_DELEGATION=on is set.](https://www.dealmobile.co.uk/sites/default/files/styles/almanac_shot_md/public/content/images/posts/delegation-is-now-opt-in/hero.png.webp?itok=v8A50NV-)

Mullet 2.4.0 changes one default. The older delegation tools (`mullet_run`, `mullet_delegate`, `mullet_swarm` and `mullet_opencode`) used to run unless you switched them off. Now they stay off until you set `MULLET_DELEGATION=on`.

## Why

Those tools send a task to another model provider, which means someone else’s tokens and, often, your money. That is a decision a person should make, not something an installed tool does because nobody said no. A session that was never told to delegate should not be delegating.

It is also the less surprising default for anyone new to Mullet. You can install it, use Trawl search and run jobs, and nothing leaves your machine for a provider you didn’t pick.

## What did not change

- `mullet job plan`, `run`, `merge` and the rest of the job commands. Jobs follow the session strategy and the ladder, not this switch.
- Trawl search, status and budget.
- The session strategy: `mullet strategy set --delegation off` still works, and now matches the default.

## If you want the old behaviour

Add one line to `~/.config/mullet/.env`:

```
MULLET_DELEGATION=on

```

An unset value counts as off, and so does a value Mullet doesn’t recognise, so a typo can’t switch delegation on by accident. While it is off, the delegation tools, `mullet "<task>"`, the REPL and the chat endpoints of `mullet serve` say so and do nothing. The hooks stay quiet too, so you won’t be nudged towards a tool that would refuse.

The notes are in the [changelog](https://github.com/tomgould/mullet-public/blob/main/CHANGELOG.md).

How delegation works when it is on is in [the delegation ladder](https://www.dealmobile.co.uk/writing/the-delegation-ladder.md), and how a session sets its budget and strategy is in [every session starts with one question](https://www.dealmobile.co.uk/writing/every-session-starts-with-one-question.md).

- **Projects:** [Mullet](https://www.dealmobile.co.uk/projects/mullet.md)
- **Tags:** [Python](https://www.dealmobile.co.uk/writing/tag/python.md), [AI](https://www.dealmobile.co.uk/writing/tag/ai.md), [Mullet](https://www.dealmobile.co.uk/writing/tag/mullet.md)

---

Index of this site: [llms.txt](https://www.dealmobile.co.uk/llms.txt)
