# Attachments, screenshots, paint and camera

How to attach files to a task, take a screenshot and circle the bug, draw a sketch or take a photo, and what the agent receives.

A task in Borago Board can carry files. The agent reads them with the task, so a screenshot with the broken part circled, a CSV of sample data or a design sketch saves a paragraph of description. The board also has three ways to make a picture on the spot. Take a screenshot and annotate it, draw one from scratch, or take a photo.

## Goal

A task with the files, pictures and screenshots the agent needs attached to it.

## Before you start

- A project with tasks, see [Writing tasks the agent can do](/docs/guides/writing-tasks/).
- For screenshots, the desktop app or the cloud board in a browser. For photos, any of those or the phone. Drawing works everywhere. Attaching files also works from a browser and a phone, with the plan note in step 10.

## Steps

1. **Find the attachment area.** Open a task, or start a new one, and press **Edit** if the task is not already in edit mode. The section headed **Attachments** shows a grid of thumbnails and a row of four icon buttons whose tooltips read **Add files**, **Draw an image**, **Take a photo** and **Take a screenshot and annotate it**, followed by the hint that any type is accepted, or drag and drop or paste.

2. **Attach a file.** Press **Add files** and pick one or more files, drop them onto the grid, or paste an image from the clipboard. Each file must be under 10 MB and a task holds at most 10 attachments. The refusals read **Each file must be under 10 MB** and **A task can have at most 10 attachments**. By default the accepted kinds are images, plain text and data files, source code and web files. Office documents, executables, archives and media are refused with **file type not allowed here** unless the machine running the app was configured to allow them. An SVG that contains script or similar content is offered with **Attach as text**, so it is stored as-is but shown as source rather than rendered.

3. **Reference a file in the description.** Hover a thumbnail and press **Reference in description**, or drag the thumbnail into the text, or type `@` and pick the filename. The description then names the file, and the agent resolves that name against the staged copy.

4. **Take a screenshot.** Press **Take a screenshot and annotate it**. On the desktop app on X11, macOS and Windows a chooser headed **Capture what?** lists your screens and windows by title. Pick one. The picture opens in the paint editor on the crop tool, so your first drag selects the area you meant and Enter applies it. Circle the problem with the oval or arrow tool, add a line of text, then press **Attach**.

5. **Answer the operating system the first time.** On macOS the first screenshot raises the system's Screen Recording prompt once. If it was refused, the app shows **Screen recording is off** with **Open System Settings**, and after you switch Borago Board on there macOS offers to reopen the app. On Linux under Wayland there is no chooser of the app's own. The desktop portal's dialog asks which window or screen to share, every time, and cancelling it simply takes no picture. On Windows and X11 nothing asks. The app never adds a dialog of its own.

6. **Draw from scratch.** Press **Draw an image**. The editor's tools are pencil, eraser, line, square, oval, polygon, arrow, measure, ruler, text and crop, each an icon with a tooltip. A colour row with a picker and an opacity slider, a background swatch, a **Fill** button, one size slider that also sets the text size, undo and redo, and zoom by mouse wheel complete it. Square and oval have a **Filled** option. The picture is a flat raster image. Shapes cannot be edited after they are drawn, though undo takes them back. Press **Attach** to add it, or **Cancel**.

![The drawing editor with its tool bar along the top and a red box and arrow drawn on a blank canvas.](/images/docs/attachments-and-screenshots-6.webp)

7. **Take a photo.** Press **Take a photo**. A dialog headed **Take a photo** shows a live preview, with **Switch camera** when the device has more than one. Nothing is captured until you press **Take photo**, and closing the dialog turns the camera off. On macOS the first use raises the system's Camera prompt once. On Linux and Windows nothing asks. The photo opens in the paint editor, without the crop tool preselected, and **Attach** adds it.

8. **Annotate an existing attachment.** Hover an image thumbnail and press **Draw on this image**. The editor then offers **Replace**, which writes over the original and keeps every reference to its filename working, or **Save as new**, which adds a second file under a new name.

9. **Know what the agent receives.** At run time the agent gets every attachment read-only inside the project's container, and attachments are material to read, never to run. Files attached from a run come back the same way, as attachments on the task.

10. **Attachments across devices.** On the desktop app attachments always work and are kept on that device. Adding a file from the cloud browser or a phone needs a plan that includes attachments, which is Pro, Max or the trial, and the task dialog says **File attachments need a plan that includes them** otherwise. See [Pricing](/pricing/). With such a plan and cloud sync on, files added on the desktop sync to the cloud and the phone. Without it, the desktop shows a notice that attachments stay on this device and keep working locally. Each plan has a storage allowance, shown as **Cloud storage** on the profile, and a paid Max plan can add more in blocks from the subscription on the cloud board. When it is full, new uploads from a browser or phone are refused, files added on the desktop stay on the desktop, and nothing already stored is deleted. Screenshots also work on the cloud board in a desktop browser, where the browser shows its own picker, and photos work there and on the phone. In a browser on your local network the two buttons are shown disabled with the reason, because that page is not served over https, and a phone browser cannot capture its screen.

## If it did not work

- **The screenshot came back blank or the button did nothing.** On Linux, the desktop portal and its backend for your desktop environment must be installed. The dialog headed **The screenshot could not be taken** names the package. On macOS, check System Settings, Privacy and Security, Screen Recording lists Borago Board and is on.
- **An image would not open for editing.** The message **That image could not be opened for editing.** means the file could not be fetched. Reopen the task and try again.
- **The file was refused by type.** The default policy accepts images, text, code and web files. Attach the content as text where you can. The list of accepted kinds is a setting on the machine that runs the app, for whoever administers it, and the board itself has no control for it.

Related: [Screenshot the bug and let the agent fix it](/docs/tutorials/screenshot-the-bug/), [Writing tasks the agent can do](/docs/guides/writing-tasks/), [Cloud sync, browser and phone](/docs/guides/cloud-sync-browser-and-phone/), [Security](/security/)
