<!-- https://zerolog.ch/news/sub-agents-and-ultracode-word -->
# Sub-agents for cheaper chats, and "ultracode" as a one-turn word

2026-10-28 · Product

> The chat agent can now hand mechanical work to cheap sub-agents without Ultracode. The word "ultracode" allows workflows for one turn instead of switching them on for good.

Two changes to how the chat agent works with other agents.

**The word "ultracode" now counts for one turn.** Until now it switched Ultracode on for the whole chat. Now it only allows the workflow tools for that turn. The agent looks at the task and starts a workflow only when it fits: several independent parts, breadth, a need for checking. Otherwise it works directly and says briefly why. Nothing starts just because the word appeared. If you write "no ultracode" or ask "what is ultracode?", the word gives no permission at all. The button and `/ultracode` still keep it on for the whole chat.

*The chat model hands routine work to cheap sub-agents and checks the short answers before it tells you.*

**Sub-agents, also without Ultracode.** When you want to save credit, or when a part of the task is mechanical, the agent can give it to a cheap model. It starts one sub-agent per part, up to 4 at the same time and 8 per turn, and collects the short answers. You can ask for it in plain words: "use sub-agents to save money: read the 3 files and summarise them".

By default the sub-agent runs on a cheap model: with your own key the helper model of that provider, otherwise the everyday tier. A dearer model asks you first. It can work with text only, or with `run_command`, `read_file` and `write_file` in the container of the chat, under the same approval setting as the chat. It cannot start more sub-agents or a workflow. Stop ends them with the turn, and each one shows as a compact card with its log.

Limits: a sub-agent does not know your conversation, so the agent must pass on everything it needs. Its answer is a claim, not proof, and the chat model should check it.
