# Change Storage Location

## Default storage location

Cherry Studio data storage follows system conventions; data is automatically placed under the user directory. The specific directory locations are as follows:

> macOS: /Users/username/Library/Application Support/CherryStudioDev

> Windows: C:\Users\username\AppData\Roaming\CherryStudio

> Linux: /home/username/.config/CherryStudio

You can also view it at the following location:

<figure><img src="/files/0757a98ab1bcc4fb84c5768d07be9312e34d91cb" alt=""><figcaption></figcaption></figure>

## Change storage location (for reference)

Method 1:

You can do this by creating a symbolic link. Exit the software, move the data to the location you want to save it in, then create a link at the original location that points to the new location.

For specific steps, refer to:<https://github.com/CherryHQ/cherry-studio/issues/621#issuecomment-2588652880>

Method 2:\
Based on Electron app characteristics, change the storage location by configuring startup parameters.

> \--user-data-dir\
> Example: Cherry-Studio-\*-x64-portable.exe --user-data-dir="%user\_data\_dir%"

> Example:

```shell
PS D:\CherryStudio> dir


    Directory: D:\CherryStudio


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2025/4/18     14:05                user-data-dir
-a----         2025/4/14     23:05       94987175 Cherry-Studio-1.2.4-x64-portable.exe
-a----         2025/4/18     14:05            701 init_cherry_studio.bat
```

> init\_cherry\_studio.bat (encoding: ANSI)

```bash
@title CherryStudio initialization
@echo off

set current_path_dir=%~dp0
@echo Current path:%current_path_dir%
set user_data_dir=%current_path_dir%user-data-dir
@echo CherryStudio data path:%user_data_dir%

@echo Search for Cherry-Studio-*-portable.exe in the current path
setlocal enabledelayedexpansion

for /f "delims=" %%F in ('dir /b /a-d "Cherry-Studio-*-portable*.exe" 2^>nul') do ( #This code is compatible with the versions from GitHub and the official download; please modify it yourself for others
    set "target_file=!cd!\%%F"
    goto :break
)
:break
if defined target_file (
    echo Found file: %target_file%
) else (
    echo No matching file found, exiting this script
    pause
    exit
)

@echo Please continue if confirmed
pause

@echo Start CherryStudio
start %target_file% --user-data-dir="%user_data_dir%"

@echo Operation completed
@echo on
exit
```

> Structure after initializing the user-data-dir directory:

```shell
PS D:\CherryStudio> dir .\user-data-dir\


    Directory: D:\CherryStudio\user-data-dir


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2025/4/18     14:29                blob_storage
d-----         2025/4/18     14:07                Cache
d-----         2025/4/18     14:07                Code Cache
d-----         2025/4/18     14:07                Data
d-----         2025/4/18     14:07                DawnGraphiteCache
d-----         2025/4/18     14:07                DawnWebGPUCache
d-----         2025/4/18     14:07                Dictionaries
d-----         2025/4/18     14:07                GPUCache
d-----         2025/4/18     14:07                IndexedDB
d-----         2025/4/18     14:07                Local Storage
d-----         2025/4/18     14:07                logs
d-----         2025/4/18     14:30                Network
d-----         2025/4/18     14:07                Partitions
d-----         2025/4/18     14:29                Session Storage
d-----         2025/4/18     14:07                Shared Dictionary
d-----         2025/4/18     14:07                WebStorage
-a----         2025/4/18     14:07             36 .updaterId
-a----         2025/4/18     14:29             20 config.json
-a----         2025/4/18     14:07            434 Local State
-a----         2025/4/18     14:29             57 Preferences
-a----         2025/4/18     14:09           4096 SharedStorage
-a----         2025/4/18     14:30            140 window-state.json
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cherry-ai.com/docs/en-us/pre-basic/personalization-settings/storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
