Workspace
Every agent has a workspace directory: the REPL’s working directory. It holds the files the agent saves, page text, screenshots and cell output (in.browser-use/cells/). The agent is told to save deliverables there.
- Default: a new temp directory named
browser-use-*, created on first use.agent.workspacegives its path. workspace=is kept as you pass it, made absolute; symlinks are not resolved.agent.workspaceandresult.downloadsuse that spelling, soresult.downloads[0].relative_to(agent.workspace)works (on macOS,/var/...stays/var/...).- It is kept after the run, so files the result points to stay readable. Delete it when you are done, or pass your own
workspace=.
Upload files
Put the file in the workspace and name it in the task:upload_file(selector, path); it never creates or overwrites the file you name. On a cloud browser, the file’s bytes are sent through the page, so local paths work there too.
There is no file allowlist: the agent runs Python as your user and can read any file you can. Run untrusted tasks in a container or VM.
Downloads
result.downloads lists the files this run added to agent.workspace/downloads. A file with a name that is already there gets (1), (2), … and never overwrites one. Where they land depends on the browser: