All pages
On this page

The file browser

📁 Browse files shows the files on the relay's machine without leaving the conversation: the folder the agent works in, the rest of the machine, and the folder the agent's own session keeps. You use it to see what the agent changed, to open a file, to copy a reference for your next message, and to tidy up. The same browser picks a folder when you start a conversation or change its working folder.

Opening it #

Where Control
Desktop The 📁 button in the composer row (tooltip Browse files).
Phone The 🗂️ button in the composer row (tooltip Open file explorer).

The browser opens as a dialog over the conversation. Its title says which root you are in: Repository Browser, Drives Browser or Session Browser. Close it with × or Escape.

On a desktop the dialog has two panes side by side. The left pane, File tree, shows folders only. The right pane shows the files of the open folder, with a path bar above it. On a phone the two panes sit one above the other, the tree on top. Click a folder in the tree to open it. ⌖ Focus collapses the tree to the open folder. A counter beside it shows how many entries the tree holds, for example 12 nodes in the workspace and 12 entries elsewhere.

List and Icons switch the file pane between rows and cards. Cards show a thumbnail for images.

The three roots #

Three buttons at the left of the toolbar choose what the browser shows.

Button Root What it shows
💼 Workspace The conversation's working folder, as a tree that starts at that folder.
📀 Drives The whole machine. On Windows the list of drive letters the system reports, such as C:. On Linux and macOS the folder /.
🕵️ Session The session's own folder (see By provider). The button is disabled while the conversation has none.

Which folder the workspace is #

The workspace root is the conversation's working folder. It follows the conversation you have open, and a running session keeps the folder it is really working in. 🗂️ Change CWD in the conversation's ⋯ menu moves it for the next launch of the agent, or at once with 🚀 Set new CWD and (re)launch; see Changing it later. When the working folder changes, the browser drops what it had open and shows the new folder. Typing cd in a chat message does not move the browser.

A Claude Cloud chat has no working folder on your machine and no file browser: the agent works on a clone at Anthropic.

Drives and the session folder #

The drives root reaches the whole machine, not only the working folder. The allow list that limits where a chat may start (workspaceRootAllowList, see Limiting where chats may start) does not limit what you can browse.

The session folder lists the files the agent's provider keeps for this session. You can look at them and open them. In the Session Browser the browser offers only New folder: no Rename or Delete. That is a rule of the page, not of the relay. The same folder, opened through 📀, offers Rename and Delete, and the relay does not refuse them.

The toolbar #

Control What it does
💼 📀 🕵️ Switch the root (see above).
List, Icons Switch the file pane between rows and cards.
Hidden: Off / Hidden: On In the workspace: show or hide entries whose name starts with a dot, on every platform. In the drives and session roots the button reads Hidden/System: Off / Hidden/System: On. On Linux and macOS it covers names that start with a dot. On Windows it covers entries with the hidden or system attribute, and a name that starts with a dot is shown either way.
Heavy: Off / Heavy: On Show or hide the folders named .git and node_modules (any capitals) in the workspace. In the other roots it reads Heavy: n/a and is disabled.
Refresh Reads the open root again. The folders you had expanded and the open folder stay as they were.
📁+ New folder Creates a folder in the open folder (see Folders and files).

Hidden and Heavy are both off the first time. A hidden name that is also heavy needs both switches. A change takes effect at once and refreshes the tree.

Your browser remembers the filters: Hidden for the workspace, Hidden for the drives and session roots (one setting for both), and Heavy. It does not remember the root, the view or which folders were open; those last while the page stays open, and survive Refresh and closing and reopening the dialog, but not reloading the page.

Opening a file #

Click a file in the file pane to open it in the file viewer. In the folder picker (below) files cannot be opened.

Referencing a file or folder in your message #

Two controls copy a reference to the clipboard, wrapped in backticks. They do not put it into the composer: you paste it into your message yourself.

Control Where Copies
Copy @folder The path bar above the file pane, once a folder other than the workspace root is open (on Linux and macOS the drives root / counts). @folder: and the open folder's path.
The title of an open file At the top of the file viewer. Click it. @file: and the file's path.

In the workspace the path is relative to the working folder, such as @folder:src/components. In the drives and session roots it is the full path on the machine. What the agent receives for a reference, and how images are attached, is in File references.

Folders and files #

Added in 0.9.10 You can create folders, rename files and folders, and delete them. This works in the workspace and on the drives. In the session folder the browser offers new folders only.

New folder #

📁+ New folder opens a name field at the top of the file pane. Type the name and press Enter: the folder is created inside the open folder and the browser opens it. Escape cancels. A notice says Folder "name" created. A name that is taken, or that the system refuses, is reported under the field and the field stays open. The button is disabled while nothing can hold a folder, such as the Windows list of drives.

The context menu #

Right-click a folder in the tree or a file in the file pane. On a phone, press and hold. The menu offers:

Entry On What it does
📁 New folder here Folders Opens the folder and shows the name field in it.
Rename Files and folders Turns the name into a field. Enter saves, Escape cancels, and an unchanged name is a cancel.
Delete Files and folders Opens the delete dialog.

Rename and Delete are not offered for a root (the working folder, / or a drive), nor for anything in the Session Browser. A folder you rename keeps its place in the tree and stays open.

Delete #

Delete first asks the relay what would go, and the dialog tells you before anything is removed:

What you delete The dialog says
A file Delete the file name?
An empty folder Delete the empty folder name?
A folder with content Delete the folder name and everything in it? and It contains 12 files and 3 folders. After 10,000 entries the count stops and the dialog says more than 10,000 entries.

For a folder with content, the red 🗑 Delete button stays disabled until you type the folder's name in the field Type the folder name to confirm. Deleting removes the file or folder from the disk; it does not go to a trash.

Names and links #

  • A name is one segment: it cannot be empty, . or .., cannot contain / or \, and is at most 255 bytes.
  • When the relay runs on Windows, a name also cannot contain < > : " | ? * or control characters, cannot end with a dot or a space, and cannot be a name Windows reserves, such as con or nul.
  • Names are compared exactly: a name that is already in the folder is refused with That name is already taken. Changing only the capitals of a name is allowed.
  • A link (a symbolic link) is never renamed or deleted: the relay refuses it with Links cannot be changed here. The workspace tree does not list links. On Linux and macOS the drives and session roots do list them, and show a link to a folder as a folder, so you can open and read through one; only the link itself is protected. A path that goes through a link to a folder still reaches the folder behind it. In the workspace, a link that leads outside the working folder is refused as an invalid path.
  • A change the operating system does not allow is reported as Permission denied. A refused rename or delete appears as a notice; a refused new folder appears under the name field.

As a folder picker #

The same browser chooses a folder for New chat and for 🗂️ Change CWD: press 📁 next to the path field. The browser opens on the drives root, a bar at the bottom shows the selected folder (or Select a folder…), and ✅ Use this folder as CWD hands it back. The three roots stay available. In this mode files do not open, and Rename and Delete are not offered; 📁+ New folder and 📁 New folder here work, so you can create a project folder and pick it in one go. See The working folder.

Limits #

  • The workspace tree loads one folder at a time, when you open it. Hidden and heavy names are left out until you switch them on.
  • A folder the relay cannot read opens empty instead of showing an error. Entries it cannot read are left out of the list.
  • The session root is empty, not an error, for a Claude or DeepSeek session that has not written any files yet.

By provider #

The browser is the same for every provider that works in a folder on the relay's machine. What differs is the session folder behind 🕵️.

Provider The session folder (🕵️)
GitHub Copilot (SDK and extension engine) The runtime's folder for the session, in ~/.copilot/session-state (or the folder COPILOT_SESSION_STATE_DIR names). Disabled until the folder exists.
OpenAI As for GitHub Copilot: OpenAI chats run on the Copilot runtime, so the folder is the same kind.
OpenAI Image The same Copilot session-state folder; the generated pictures are in it, in generated-images. See OpenAI.
Claude The session's folder in the Agent SDK's project area, inside ~/.claude/projects (or CLAUDE_CONFIG_DIR), with the session's transcript (a .jsonl file) listed in it. The folder itself appears only once the session writes sub-agent or tool-result files. See Claude.
DeepSeek Added in 0.9.17 As Claude, but in DeepSeek's own Claude Code folder: inside data/deepseek-claude/projects in the relay's state folder, never in ~/.claude. See DeepSeek.
Claude Cloud No file browser: the agent works on a clone at Anthropic, and there is no working folder or session folder on your machine. See Claude Cloud.
Cursor The agent's store for the session, a folder per conversation created on its first turn. See Cursor.
Grok None: the relay keeps no session folder for Grok, so the button stays disabled.