Task Attachments
Attachments give Claude context that should travel with a task, separate from the prompt. Use them for GitHub issues, product tickets, short specs, logs, or any other reference material the agent should consider during a session.
What An Attachment Contains
Each attachment has:
- Name: A human-readable label.
- URI: Optional source reference, such as a GitHub issue URL.
- Content: Inline text or base64 binary content.
- MIME type: Required when inline content is provided.
- Metadata: Optional display data for clients.
The API shape follows the MCP resource model, so integrations can pass attachments through to tools that understand Resource and ResourceContents.
Images
Attach an image to give Claude something to look at: a screenshot of the bug, a design, a photo of a whiteboard. Images go on the first message of a new task and on any message in an existing session, through the + button next to the composer.
On phone and tablet the button offers three sources:
- Photo: pick from your photo library.
- Camera: take a photo now. It appears only on a device that has a camera, so it is absent in the simulator and on camera-less hardware.
- File: pick an image through the system file browser.
On the web the same button offers Attach File, which opens an image file browser. You can also paste an image straight into the composer.
Pending images show as thumbnails above the composer until you send the message.
GitHub Issues and Pull Requests
Attach a GitHub issue or a pull request to the first message of a new task, or over the API at any time. Either way Wallfacer preserves the GitHub URL and resolves the issue or pull request content for Claude, so the task stays connected to the original without forcing you to duplicate its body in your message.
In the app, the empty task screen you land on from New Chat offers pills above the input: Fix an issue, Work on a pull request, and, when the account has handbooks, Select handbook. Each opens a picker scoped to that kind, searching the repos the agent's computer clones. The + menu beside the input opens the same picker, alongside attaching a file or image. Selected items appear as chips above the input until you send.
You do not have to type anything. With one issue selected and no message, Wallfacer sends Fix <issue title>; with several, it sends "Fix the attached issues and pull requests". A handbook on its own is enough to start a run of that handbook.
Attach multiple issues when one task spans a related set of bugs or feature requests. Keep the message focused on the action you want Claude to take.
API Attachments
The public API supports attachments during task creation and after the task exists:
- Create with a task using
POST /v1/accounts/{account}/tasks. - Add later with
POST /v1/accounts/{account}/tasks/{task}/attachments. - List with
GET /v1/accounts/{account}/tasks/{task}/attachments. - Read content with
GET /v1/accounts/{account}/tasks/{task}/attachments/{attachment}/contents. - Delete with
DELETE /v1/accounts/{account}/tasks/{task}/attachments/{attachment}.
After creation, check the attachment status. ready means the content is available. failed means Wallfacer could not make the content available; inspect error for the machine-readable reason.
Content In List Responses
When attachments come back embedded in a task list (GET /v1/accounts/{account}/tasks) they are summarized to keep the page small. Each attachment carries its metadata plus a short text_preview (a prefix of the text), and the full text and blob are withheld. size still reports the true content length, so you know there is more to fetch.
Full bodies are always available from the endpoints that return a single task or attachment:
GET /v1/accounts/{account}/tasks/{task}: the task with its attachments' full content.GET /v1/accounts/{account}/tasks/{task}/attachments: every attachment on the task, full content.GET /v1/accounts/{account}/tasks/{task}/attachments/{attachment}/contents: one attachment's content in MCPResourceContentsshape.