Skip to main content

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.workspace gives its path.
  • workspace= is kept as you pass it, made absolute; symlinks are not resolved. agent.workspace and result.downloads use that spelling, so result.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:
The agent uploads that file as it is with 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: