subjectId receives an isolated persistent workspace on a
durable sandbox volume. Files written there survive session boundaries, sandbox
restarts, and agent version promotions. The same volume is mounted for later
sessions, automations, and Files API calls for that agent and subject.
Use this guide for the workspace model. Use the
Files API when your application needs to list, upload,
download, move, or delete files without sending a chat turn.
Workspace model
The volume is the subject’s home directory. Paths in the Files API and in the built-infile / terminal toolsets are relative to that root:
Treat
memories/ and skills/ as reserved. Read or seed memory through the
Memory API, and change configured skills through
agent versions. Application files belong in ordinary
workspace directories such as uploads/, reports/, or projects/.
Choose an access path
Turn attachments are copied into the session event history. They are not
automatically written onto the volume. Ask the agent to save them, or upload
with the Files API when the file should persist for later sessions.
Enable file tools
Configure the built-infile toolset on the agent:
read_file, write_file, patch, and search_files.
terminal can also create and update files through the shell. See
Built-in agent toolsets.
Seed files before the first session
You can write files onto a subject’s volume before creating a session, the same way you can seed memory. This is useful for project templates, customer documents, or datasets the agent should already have on its first turn:Persistence and scope
- Workspace files are scoped to the authenticated organization, agent, and
stable
subjectId. - A new session with the same scope sees the existing workspace.
- Automations for that subject run against the same volume.
- A different subject receives a different workspace.
- Promoting an agent version does not reset a subject’s workspace.
- Deleting a session does not delete the volume. The workspace lives with the agent and subject, not with any one conversation.
subjectId for the same person, team, or customer. Changing it
intentionally creates a separate filesystem boundary.
Volume capacity
Each subject volume starts at 512 MiB and expands automatically toward a 4 GiB ceiling as usage approaches capacity. Check current usage withGET /v1/agents/{agentId}/users/{subjectId}/volume.
Writes that would exceed the ceiling return 400 validation_error.
Send input files for one turn
To include a file in a turn without persisting it on the volume, add a base64data_url attachment to user.message. Herm makes the material available to
the agent for that turn.
See Send a message with attachments
for the request schema, size limits, and supported media types.