Storage locations

Last published : Nov 09, 2026
Where Knowledge Worker Agent keeps files, data, and credentials in the workspace. ~ is the home folder of the user Knowledge Worker Agent runs as, /home/developer in the image. All the data Knowledge Worker Agent keeps is under /home/developer, which lasts across restarts and image upgrades. The release image no longer has a /data volume.
Knowledge Worker Agent keeps everything it owns in one folder, ~/Knowledge_Worker_Agent, or the folder KWA_HOME names. Workspaces from earlier releases move their files there once. Until then, they use the earlier locations, listed in the Before the move column. For more information, see Move files into one folder.
In the tables, a path without ~ or / at the start is in ~/Knowledge_Worker_Agent.
~/Knowledge_Worker_Agent/
  Chats/              chat folders
  Projects/           projects
  Scheduled Tasks/    scheduled tasks
  upload/             attachments that don't belong to a chat
  ObsidianVault/      the Obsidian connector's vault
  .system/            files Knowledge Worker Agent manages, hidden from the Files panel

Work

What Where Before the move
A chat's files Chats/chat-<id> ~/Chats/chat-<id>, or ~/chat-<id> for chats from earlier versions
A chat's attachments upload in the chat's folder The same
A project's files Projects/<project-name>, or the cloned repository for a project backed by one ~/Projects/<project-name>
A scheduled task's files Scheduled Tasks/<task-name>, unless the task runs in a project ~/Scheduled Tasks/<task-name>
A cloned repository A new folder in ~/Knowledge_Worker_Agent A new folder in ~
New clones and the Files panel start in ~/Knowledge_Worker_Agent. The Files panel can still open the rest of the home folder.
A new chat's folder starts with three folders:
Folder Holds
inputs Material for the assistant to read.
working Scratch files the assistant can throw away.
.system Files Knowledge Worker Agent manages. When Make self-contained replaces a shared file, the original is kept in .system/artifact-backups.
The assistant saves finished work at the top of the chat's folder.

Data

What Where Before the move
Chats, messages, and settings .system/knowledge-worker-agent.db ~/.copilot-web.db. The release image uses ~/copilot-web.db.
Database snapshots .system/backups. The five newest are kept, at most one a day. A .backups folder next to the database
Earlier versions of files .system/file-versions. The contents of the 50 newest versions of each text file, compressed. The database lists them. A .versions folder next to the database
Log .system/logs/knowledge-worker-agent.log, kept across restarts. KWA_LOG_FILE overrides it. /tmp/chat-logs/chat.log, cleared at every restart
LibreOffice, for previews of PowerPoint, Word, and Excel files .system/libreoffice, about 546 MB once installed The same place
PDF previews of PowerPoint, Word, and Excel files .system/office-previews. A PDF that isn't opened for 30 days is removed. The same place
Records of moving the files .system/migration Not applicable
Chat history kept by opencode ~/.local/share/opencode/opencode.db. If XDG_DATA_HOME is set, it's in that folder instead of ~/.local/share. The same
Snapshots are on the same disk as the database. They protect against a mistake or a failed upgrade, not against losing the disk.

Configuration

What Where Before the move
Your opencode configuration, including your agents and connectors ~/.config/opencode. Agents you create are in its agent folder. The same
Central configuration .system/config, or OPENCODE_CONFIG_DIR. Rewritten at each start. ~/.config/opencode-platform
Cached configuration repository .system/config-repo ~/.config/sds-config-repo
Obsidian connector .system/obsidian ~/.local
Obsidian vault ObsidianVault, or KWA_OBSIDIAN_VAULT ~/ObsidianVault
Bundled skills and plugins The skills and plugin folders in ~/.config/opencode. Replaced at each start. The same
Knowledge Worker Agent installs its skills (for PDF, Word, PowerPoint, and Excel files, and for reports and dashboards) and its plugins at every start. Changes you make to them don't last.

Dictation

What Where
Speech engine and its libraries /usr/lib/knowledge-worker-agent/whisper/, in the image.
Speech model /usr/share/knowledge-worker-agent/whisper/, in the image.
Third-party licenses /usr/share/doc/knowledge-worker-agent/third-party/, in the image.
Older images have these under sds-chat instead of knowledge-worker-agent, and dictation still finds them there. Dictation writes nothing to disk. Audio stays in memory and is discarded after each dictation.

Credentials

What Where Before the move
GitHub Copilot sign-in, and provider API keys ~/.local/share/opencode/auth.json, kept by opencode The same
Google Vertex AI sign-in Kept by the Google Cloud CLI, in its own configuration folder The same
Connector API keys One file per connector in .system/mcp-keys, readable only by you ~/.config/sds-mcp-keys
GitHub token for pull requests .system/github-pat.json, readable only by you ~/.copilot/github-pat.json
If the legacy setting COPILOT_HOME or COPILOT_GITHUB_PAT_PATH points somewhere else, the GitHub token stays there.
opencode's folders use the default location of the opencode configuration. If XDG_CONFIG_HOME is set, they're in it instead of ~/.config.