Tasks
A task is a unit of work. It connects a prompt, optional attachments, and one or more coding sessions.
What Is a Task
A task has:
- A title and optional prompt describing what you want done
- Optional attachments with ticket text, GitHub issue context, or other reference material
- One or more coding sessions where Claude does the work
Tasks belong to an account and optionally reference a default environment. Each session can use the task's environment or choose its own environment.
Creating a Task
From New Chat
Starting work is two steps, and the second one is a conversation.
- Click New Chat in the sidebar (web) or the toolbar (mobile). Pick who to message: any agent on the account, or a handbook to run.
- You land in the task screen, empty, with the same chat input every ongoing task has. Type your first message and send it.
Sending the first message is what creates the task. There is no separate composer to satisfy first, and nothing about the first message is special: images, voice, and mentions work exactly as they do on the tenth message. See Agents for how an agent carries its own computer, model, and identity.
The empty task screen offers three suggestions above the input: Work on an Issue, Checkout a Pull Request, and Run a Playbook. Each opens the picker for that kind of context, and picking one is enough to start the task without typing a prompt.
Opening an agent's New Chat button skips the recipient step, since the recipient is already chosen.
A task you already have open carries New Chat in its header as well, first in the row of controls on iPhone, iPad, Android, and web: ahead of the diff and pull request buttons, the preview and pane controls, and the task's ... menu. It starts a fresh chat with the same agent, recipient already chosen, so you do not have to go back to the list to change subject. The button is there only when the task is addressed to an agent that is still on the account: a task a person wrote has nobody to address, and an offboarded agent can no longer take new work.
After the first message
Wallfacer creates the task, then starts a session and boots a VM. Claude Code starts working as soon as the VM is ready. You don't need to wait. Send your instructions and check back later, or watch in real time.
If task creation fails, your message stays in the input where you typed it, so you can send it again.
Who's Performing a Task
Every task row and task view leads with an avatar for who the task belongs to.
- When an agent is performing the task, the row shows that agent's name and avatar, so you can tell at a glance which agent is on it. Two agents look distinct, not like one generic bot.
- A task started by a trigger with no agent routed to it shows a generic automation marker instead.
- A task you created yourself shows your own avatar.
Attribution sticks: if an agent is later removed from your account, its past tasks still show its name and avatar rather than falling back to the generic marker.
This is the same performer a playbook step set to The task's performer follows. See Playbooks for how a step chooses who performs it.
Finding and Filtering Tasks
Every list in the app shares one filter toolbar. On the Tasks list it sits above the rows: a FILTERS label that collapses the controls, a count of how many filters are active, and a single Clear that resets them all.
- Filter by status, environment, and owner. Archived tasks are hidden by default; flip the Archived toggle to show them.
- Search narrows the tasks currently loaded by title. Matching is case-insensitive and updates as you type.
The same toolbar appears on the Reviews, Environments, and Events lists.
Attachments
Use attachments to give Claude context beyond the prompt.
- Attach inline text, ticket content, or a reference URL.
- Attach a GitHub issue or pull request to a new task's first message, from the pills above the input or the + menu beside it. The picker searches the repos the agent's computer clones. The + menu lists Photo, Camera, and File first, then Issue, Pull Request, and Handbook; a source that isn't available (no camera on the web, an account with no playbooks) drops out of the list.
- Attach multiple items to a single task.
- Attached context appears in the task detail view.
With an issue, a pull request, or a handbook selected, you can send without typing anything and Wallfacer writes the opening message for you. See Task Attachments.
GitHub issue attachments include the issue details Wallfacer can resolve for Claude, while preserving the original GitHub URL as the source reference.
See Task Attachments for the full attachment model and API routes.
Task Status
A task stays active while its work is in progress and settles to a terminal state when the work finishes or can't continue.
If a task's coding session fails terminally, the task now moves to a failed state and sends you a notification, instead of appearing to run indefinitely. That surfaces the problem so you can start a new session or adjust the task, rather than waiting on work that has already stopped.
Every task also carries a one-line summary of what it last did, and the task list shows it under the title: the current step for a task running a playbook, otherwise the last thing its agent said. A task whose agent has not spoken yet shows its title alone rather than filler. A turn where the agent only used tools leaves the previous summary standing, so the line keeps describing the work rather than the scaffolding around it.
Filtering the Task List
The Tasks list has a filter bar for narrowing down what you see. Filter by:
- Status -- where the task is in its lifecycle.
- Attention -- what needs you, such as tasks that need your review or are unassigned.
- Agent -- the agent that created the task.
- Environment -- the environment the task runs against.
- Owner -- the user the task belongs to.
- Playbook -- the playbook the task follows.
An Archived toggle shows or hides archived tasks.
Shareable filtered views
Your active filters travel in the page URL, and the URL updates as you change them. That means a filtered view can be bookmarked or shared with a teammate, and opening the link reopens the list with the same filters applied. For example, /tasks?status=active&creator=42&attention=needs_me,unassigned lands on the Tasks list already filtered to active tasks created by that agent that need you or are unassigned.
Clicking an agent in the sidebar is a shortcut to this: it opens your Tasks list pre-filtered to the tasks that agent created.
On a phone, that filtered list carries its own New Chat button: in the toolbar beside the filter menu on iOS, in the nav bar beside the filter menu on Android. It starts a chat with the agent the list is filtered to, so you do not have to go back to pick a recipient. Clear the Agent filter and the button goes away, because the list no longer names one agent. On a tablet, New Chat stays in the sidebar rail.
Branch Management
Each session gets its own branch. If you do not provide a branch name, Wallfacer generates one following this pattern:
{initials}/{title-slug}-{hash}For example: jk/fix-login-abc.
The branch is created when the session boots. Multiple sessions under the same task can produce separate branches, which is useful for trying alternate approaches or working across multiple environments.