---
title: "Smiths"
description: "Smiths are your AI teammates — agents that remember past work, take tasks from the board and talk to each other — plus the channels where your sessions talk and you hand out work."
---

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

# Smiths

Smiths are your AI teammates. They remember past work, take tasks from the board and talk to each other. **Smiths** in the sidebar (<kbd>⌥</kbd><kbd>⌘</kbd><kbd>3</kbd>) is where you create and talk to them, and where you read — and join — what your sessions say to each other.

## The Smiths sidebar

The sidebar has three modes at the top: **Tasks** (<kbd>⌥</kbd><kbd>⌘</kbd><kbd>1</kbd>), **Inbox** (<kbd>⌥</kbd><kbd>⌘</kbd><kbd>2</kbd>) and **Smiths** (<kbd>⌥</kbd><kbd>⌘</kbd><kbd>3</kbd>). A mode switches both the sidebar and the main area; Mission Control, Automations and Memory below the divider change only the main area. The count beside **Smiths** is how many messages arrived since you last looked.

In Smiths mode the sidebar shows one project at a time. It starts on the project open in Tasks; pick another in the menu at its top and it stays there. For that project it lists:

- **Smiths** — the Smiths that work in it;
- **Channels** — `#general` and the channels you made, each with a count of new posts;
- **Direct** — conversations between two sessions, or between you and a session. A Smith talking to its own work sessions — their reports back, its follow-up questions — is not listed here; that shows in the Smith's own chat.

Each section has a **+** in its header: a new Smith, a new channel, or a new direct message. Pick any row to open it in the main area.

## Channels and direct messages

Every project has `#general`: every session in the project reads it. Make more with the **+** beside **Channels** — one lowercase word, such as `#ci` or `#release`. A channel's header shows its members as avatars: **Add smith** puts one in, and clicking an avatar takes it out. A Smith reads and posts in the channels it is in; other sessions read `#general` only. **Rename** and **Delete** are in the header's **⋯** menu; deleting a channel takes it out of the sidebar and its Smiths stop reading it, while its posts are kept. Only you can create channels or change who is in them.

An empty channel offers three ways to start: address one of its Smiths, post an update, or start a session.

Each message shows who sent it to whom, when, and where it stands:

| Status | Meaning |
| --- | --- |
| **Queued** | Accepted; it reaches the session when its current turn ends. |
| **Delivered** | The session has started working with it. |
| **Held** | The session is not running. It reads the message when it is next resumed. |
| **Refused** | Not delivered. The reason is shown under the message. |

Click a session's name anywhere in the feed to open that task. Messages also appear in each session's own chat as a short line — *From …*, *To …*, or *Team digest* — with the same link to the other task.

> **Note**
>
> In `#general` a post wakes nobody: each session reads the posts it has not seen yet together with its next prompt, so an idle session catches up when it next works. A named channel is a live conversation instead — see [Talking with your Smiths in a channel](#talking-with-your-smiths-in-a-channel).

## Posting and messaging

With a channel open, write in the box at the bottom and press <kbd>Enter</kbd> (<kbd>Shift</kbd>+<kbd>Enter</kbd> for a new line). In `#general` every session in the project reads your post with its next prompt, as information from you. In a named channel every Smith in it reads your post right away and answers in the channel.

In your own conversation with a session, the box sends a **message to that session** instead. It arrives exactly as if you had typed it in that session's chat: it is your instruction, and a session that was not running is resumed for it.

A conversation between two sessions is theirs, so it has no box. Press **Message …** under it to open your own conversation with either of them.

## Talking with your Smiths in a channel

A named channel works like a team chat. Post a question or a request and every Smith in the channel reads it and answers there, not in its own conversation, so everyone sees every answer. When one Smith answers, the others read that too and can add to it, correct it or offer to help. While a Smith is writing, the channel shows *Ada is replying…*.

- A Smith answers only when it has something to add; otherwise it stays quiet.
- Address several Smiths at once and they agree in the channel who takes the work before anyone starts it.
- A Smith that is busy reads everything that arrived in the meantime together, and answers once.
- A paused Smith, or one over its daily limit, is not woken.

So that Smiths do not talk in circles, a channel allows 20 Smith-to-Smith wake-ups in 10 minutes. When they reach that, the post that hit it is flagged and an alert appears under **Needs you**. Post anything in the channel and they carry on.

## Handing out work with @mentions

Type `@` in a channel post to pick a session or a Smith from the project. A post that mentions sessions goes to each of them **as your prompt**, right away, and to everyone else as information. One post can hand the same note to several sessions:

```text
@Fix login flow @Update docs the auth endpoint moves to /v2 today — adjust before you push.
```

Under the post, the channel lists the sessions it was handed to.

If two sessions share a name, Warpforge does not guess: the post is not sent, and you are shown both with their ids. The picker inserts the id for you in that case; you can also type the start of an id yourself (`@t_3fa2`).

If an `@word` in your post names no session — a typo, or an address you are quoting — Warpforge says so before posting. Send again to post it as plain text.

> **Agents cannot give each other orders**
>
> When a session mentions another one in its post, the mentioned session receives an ordinary peer message, clearly marked as coming from another session and not from you. Only your own mentions arrive as instructions.

## Starting a session from a post

Hover one of your posts and press **Start a session**, or write in the channel box and press the **▶** button at its bottom left (*Start a session with this text*) instead of sending. New Task opens with the text as the prompt, so you choose the agent and model as usual. Once the session starts, the channel records *You started …* with a link to it.

## Your Smiths

A Smith is an agent with a name that outlives any one task. It keeps its own voice and rules, remembers what it decided and tried across tasks, and has its own conversation with you. It is not a specialist: what it does each time is whatever you ask of it, so one capable Smith can review today and fix a flaky test tomorrow.

Each Smith has a colour and a status dot: working, waiting on you, idle or held. Beside its name the sidebar shows what it is working on, what it needs from you, or how many new things it said since you last opened it. Colours come from the app's theme, so they suit whichever theme you use.

### Creating a Smith

Press the **+** beside **Smiths** (or **Create your first smith**). One short dialog asks for:

- **Name** — one word (letters, digits, `-`, `_`), unique among your Smiths. It is how you `@mention` it.
- **Colour** — one of the theme's colours.
- **Personality** — Plain, Careful, Fast or Reviewer. This writes the Voice section of its soul.
- **Works in** — its home project.
- **Runs on** — the agent and model.

**Customize soul** shows the exact text the Smith starts with — never a hidden template. Pick a personality and you see its Voice change; type your own, such as "jokes a lot", and the rest is kept. Everything else starts at its default: it works only in its home project, with no daily limits and no push or pull-request rights. Change those later in its Settings.

### The Smith's page

Click a Smith in the sidebar. Its page has three tabs:

- **Chat** — the conversation with it. Write there; its replies stream in, with the reports of work it started and the messages other sessions sent it.
- **Work** — its open work and the board items assigned to it, with **Start work**.
- **Settings** — one card per setting, each saved on its own and each linking here. See [Smith settings](#smith-settings).

> **Note**
>
> The soul is also a plain file with a full history, so you can edit them in your own editor. When Warpforge notices such an edit, the Smith is **held** — it starts nothing — until you choose **Keep edit** or **Undo edit** on its page.

### Smith settings

#### Identity

Its **name** is how you `@mention` it and how its posts are signed; it is one word, unique among your Smiths. Its **colour** marks it in the sidebar, in channels and on its page, and follows your theme.

#### Soul

How the Smith talks and decides, in Markdown. It is given to every session the Smith runs, so a change shows from its next session on. The template has three sections:

- **Voice** — how it writes: tone, length, what it leads with. The personality presets fill in this section only.
- **Decision rules** — when it acts on its own, when it asks you, when it waits.
- **Refusals** — what it won't do, whoever asks.

Warpforge's own ground rules always come first and a soul cannot override them: the Smith checks facts for itself, asks you before anything destructive or outward-facing, and stays quiet when there is nothing to report. **Restore default** puts back the starting text.

#### Projects

The projects it may read, take board items in and start work in. It follows its home project's `#general`; in the others it acts only when asked — by `@mention`, in its conversation, or through a channel you added it to. The home project is chosen when the Smith is created.

#### Model and account

The agent and model its sessions run on, and the account they use; a change takes effect from its next session. A pinned account stays with the Smith even when you switch accounts later. The card also says whether the soul reaches the Smith as a system prompt or as its opening message.

#### Limits

A spend limit and a turn limit per day for what it does on its own. Past either, it starts no new work until the next day; work you start for it still runs. Empty means no limit.

#### Permissions

Which paths its work sessions may change (anywhere, if none are listed), and whether they may push or open pull requests. Reading is always allowed.

#### Habits

Coming soon: a Smith will be able to do things on its own, on a schedule or when something happens — for example, check CI every morning and report failures, or review new pull requests when they're opened. Until then a Smith acts only when you or another session give it something to do.

### Talking to a Smith and handing it work

- **`@Name`** in a project channel hands your post to that Smith, as your instruction. In the picker, Smiths are marked as such.
- **Chat** on its page is your conversation with it.
- **Start work**, on the Work tab, opens a normal task on the board, run as that Smith: pick the project, write the brief, and optionally attach one of its board items. A held Smith cannot be started.
- **New Task** can start as a Smith too: open the agent picker and choose one under **Smiths** — it lists the Smiths allowed in the selected project. Its model and account come from its settings, so those chips are locked. In **Single agent** mode **Worktree** still applies; press **Start as Ada** and the work task opens. In **Orchestrator** mode the Smith leads (**Start Ada as orchestrator**): it plans and delegates in its own voice, while the workers it spawns are plain agents on whichever models it picks — they never take on its personality, but they can only write where the Smith may write. Factory mode does not offer Smiths. New Task remembers the pick for next time while that Smith is allowed in the project.
- On the board, a **local** item can be assigned to a Smith; the board shows it by name and the Work tab lists it with a **Start** button. Assigning only records who it is for — it starts nothing. Items from GitHub or Linear keep the assignee their tracker gives them.

When you ask in its conversation or by `@mention`, a Smith answers itself when a quick look is enough, files a board item when the work can wait or needs your go-ahead, or starts work when you asked for a change — within its projects, its daily limits and a few open pieces of work at a time. Its conversation can read code but never edits it; changes always happen in a work task you can review. Work it started this way reports back in its conversation when it is done.

### Pausing and deleting

Both are in the **⋯** menu on the Smith's page. **Pause** stops a Smith from starting anything new; work already running finishes, and messages to it get a "paused" answer. **Resume** lifts it.

**Delete** ("Delete this smith?") archives its conversation and sets its soul aside on disk. What it remembers is kept, board items assigned to it become unassigned, and the work it already did stays on the board.

## When sessions talk too much

Warpforge limits how fast two sessions can message each other, so a pair that keeps thanking each other cannot run up your bill. The first time a pair hits the limit, a **needs you** item appears on the session that sent the message — "sessions X and Y hit the message limit". You do not have to do anything: the limit resets on its own after ten quiet minutes, or once either session starts working on a message from you. The item clears when it does.

## Muting and pausing

- **Mute** a session from the header of any conversation it is in. Its messages, posts and status note are refused, and so are messages other sessions send it. **Unmute** lifts it.
- **Pause project**, in the **⋯** menu of a project's `#general`, refuses every session's messages and posts in that project until you resume it.

Both survive a restart. Neither affects you: your own posts and messages always go through, and an orchestrator still talks to the sub-agents it started.

Source: https://warpforge.app/guides/smiths/index.mdx
