# Agent tasks

Give a phone a goal in plain words and let Silan's built-in agent plan, act, check each step, ask you when it must, and hand you an answer.

An agent task is a goal in plain words for one phone. You type it in the chat on a device page, Silan's built-in agent makes a plan, taps and types its way through, checks each step against the screen, asks you before anything risky, and reports back with an answer and a picture per step. A task is one chat, and a chat belongs to one phone.

## What it does

The agent reads the screen, picks the next move, acts, then waits for the screen to settle before it looks again. After each move it checks that the step did what the plan said. If the screen freezes it notices and asks whether to go on. At the end a second pass, the judge, checks the result against the goal, and for questions with a plain answer a separate answer check reads the screen again before Silan reports.

While the agent works you can:

| You do | What happens |
| --- | --- |
| Type a message | The agent reads it at its next step and changes course. Messages sent while it is busy wait in line. |
| **Take over** | The phone is yours. Act, then **Hand back** with a note the agent reads. |
| Answer a question | Plain questions, sign-in questions and the lock-screen box all show as cards in the chat. Unlocking the phone closes the lock box. |
| Approve | One answer covers the app for that chat. A late yes still works, and an open ask expires after 5 minutes. |
| **Skip this step** or **Ask again** | When the agent is stuck you can skip, retry, stop or take over. |

A finished task can become a flow with **Save as a flow**. The saved flow keeps the exact steps, adds the goal as a note, and uses the agent as a fallback for any step that no longer matches. Saving never overwrites an existing flow. See [flows](/features/flows/).

Tasks can span phones. A group task runs on several phones at once. The lead phone shows a plan card with **Start**, **Change** and **Don't start**, and a step on one phone can wait for a value from another. Two agents can also share one phone in turn.

Each chat shows its worked time. Before you send you can pick the effort and attach up to 5 files (10 MB in all, 5 MB for an image). **Replay this chat** plays the pictures back at 0.5x to 4x, and **Settings › Privacy & Data › Replay pictures** decides how long those pictures are kept: off, 7, 30 or 90 days. A task the judge passed is kept as a replay, so the same goal on the same screens runs again without a model call.

A daily spend cap lives in the engine. When it is reached the chat says **Paused for today** and nothing more is spent until midnight.

## Step by step

1. Open a device on the wall and type the goal in the chat. Pick the effort if you want, then send.
2. Watch the plan appear and the steps fill in. Each step gets a picture.
3. When a card asks you something, answer it in the chat. You can keep working on your Mac in the meantime.
4. When the task ends, read the answer card. Open the folded work line to see every step.
5. To keep it, press **Save as a flow** and name it.

From an agent or the API, the same task is `run_agent_task` with a goal and a device, then `get_agent_task` until it ends. See [run-agent-task](/reference/mcp/run-agent-task/) and the [agent REST group](/reference/rest/agent/). Approvals arrive the same way they do in the app and are described on the [safety page](/features/safety/).

## Limits

- A chat is one phone. Use a group task for several.
- The agent cannot start a task on a view-only phone. It can launch an app there and nothing more.
- The queued-message order, deleting a chat, effort and files, replay of a chat, the replay cache and **Save as a flow** from the app are proved in unit tests and offscreen pictures only. Not yet proved on a real device.
- The answer check and the stuck-agent card were proved from recorded runs, not live on a phone.
- Teaching the agent by showing it a screen by hand is off in the current release.

## Proof

:::note[Proof]
Proved on an iPhone 11 (iOS 27) on a cable, 14 Oct 2026, by a Silan worker: task `task_8k9sl6gm0fdo` saved as a flow, which then ran as `run_ppgf8jnbq0` and passed 3 of 3 steps in 29 s. Approvals and a late yes after 40 s: run `20261014-152736-62522`. Answers survive an engine restart: run `20261015-045213-86795`. Skip this step: run `20261015-061605-36722`. A four-turn chat on 20 Oct 2026: run `20261020-165934-82144`. Step checks on Wi-Fi on 28 Oct 2026: run `20261028-111015-46951`, and on an iPad Air the same day: run `20261028-114520-12401`. Groups and the lead's plan card on 31 Oct 2026: runs `20261031-121923-61023` and `20261031-134349-25926`. Two agents on one phone: run `20261031-130340-24835`. Source: verify-silan feature map, agent-tasks and app-lists.
:::

<figure class="shot"><video src="/media/calculator-mac.mp4" poster="/media/calculator-mac-poster.jpg" width="1440" height="900" controls muted playsinline preload="none" aria-label="An agent task on an iPhone 11 on a cable: the plan, each tapped step and the answer card, with the live picture beside the chat (recorded 32 s)."></video><figcaption>An agent task on an iPhone 11 on a cable: the plan, each tapped step and the answer card, with the live picture beside the chat (recorded 32 s).</figcaption></figure>
<figure class="shot"><video src="/media/clock-ask-card-mac.mp4" poster="/media/clock-ask-card-mac-poster.jpg" width="1440" height="1094" controls muted playsinline preload="none" aria-label="A Clock task that needs an approval first: the ask card in the chat, Approve, then the stopwatch and one lap on the phone (recorded 41 s)."></video><figcaption>A Clock task that needs an approval first: the ask card in the chat, Approve, then the stopwatch and one lap on the phone (recorded 41 s).</figcaption></figure>