> For the complete documentation index, see [llms.txt](https://wiki.zephyr-sim.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.zephyr-sim.com/getting-started/little-arms-launcher/storing-little-arms-launcher-data-in-a-custom-folder.md).

# Storing Little Arms Launcher data in a custom folder

Little Arms Launcher can store its data in a location you choose by setting the environment variable **`LITTLE_ARMS_LAUNCHER_USER_DATA`**.

You set a **parent folder** only (for example, Documents). The Launcher then creates or uses a subfolder with the usual name inside it—for example:

<table><thead><tr><th width="145.4140625">Platform</th><th width="229.61328125">Parent folder you set</th><th>Where data is stored</th></tr></thead><tbody><tr><td>macOS</td><td><code>~/Documents</code></td><td><code>~/Documents/Little Arms Launcher</code></td></tr><tr><td>Windows</td><td><code>C:\Users\You\Documents</code></td><td><code>C:\Users\You\Documents\Little Arms Launcher</code></td></tr></tbody></table>

The examples below use **Documents** as the parent folder. You can use Desktop, a network drive, or another path your account can read and write.

***

### Quick start

#### Before you begin (all platforms)

1. **Quit Little Arms Launcher** if it is open.
2. **Choose your parent folder** and note the full path. You configure the parent only—not the `Little Arms Launcher` subfolder.

***

#### macOS

Apps opened from the Dock or Applications folder do not read variables from `.zshrc`. Use a **Launch Agent** so the variable is set when you log in.

3. **Open Terminal** (Applications → Utilities → Terminal) and run:

```bash
mkdir -p ~/Library/LaunchAgents
```

4. **Create the Launch Agent file.** Open **TextEdit**, choose **Format → Make Plain Text**, then copy and paste:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.littlearms.launcher-user-data</string>
  <key>ProgramArguments</key>
  <array>
    <string>/bin/sh</string>
    <string>-c</string>
    <string>launchctl setenv LITTLE_ARMS_LAUNCHER_USER_DATA "$HOME/Documents"</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>
```

To use a different parent folder, change `"$HOME/Documents"` (for Desktop, use `"$HOME/Desktop"`; for a fixed path, use `"/Volumes/YourShare/YourFolder"`).

5. **Save the file** in TextEdit: **File → Save**, press **Cmd+Shift+G**, go to `~/Library/LaunchAgents`, and save as `com.littlearms.launcher-user-data.plist`.
6. **Load the Launch Agent** in Terminal (use the same parent path as in step 4):

```bash
launchctl load ~/Library/LaunchAgents/com.littlearms.launcher-user-data.plist
launchctl setenv LITTLE_ARMS_LAUNCHER_USER_DATA "$HOME/Documents"
```

7. **Log out and back in** (or restart your Mac).
8. **Open Little Arms Launcher** from Applications. Data should be in your parent folder, for example `~/Documents/Little Arms Launcher`.
9. **Optional:** In Terminal, run `launchctl getenv LITTLE_ARMS_LAUNCHER_USER_DATA` — you should see your parent path.

***

#### Windows

Windows applies user and system environment variables to desktop apps, shortcuts, and the Start menu—no extra setup beyond setting the variable.

3. **Open Environment Variables:**

   * Press **Win + R**, type `sysdm.cpl`, press **Enter**.
   * Open the **Advanced** tab → **Environment Variables…**

   On Windows 11 you can also search **Settings** for “environment variables” and choose **Edit environment variables for your account**.
4. **Add a user variable** (under *User variables for …*, not System variables, unless your IT team instructs otherwise):
   * Click **New…**
   * **Variable name:** `LITTLE_ARMS_LAUNCHER_USER_DATA`
   * **Variable value:** your parent folder path, for example `C:\Users\YourName\Documents`
   * Click **OK** on each dialog to save.
5. **Sign out and back in** (or restart Windows) so every app session picks up the new variable.
6. **Open Little Arms Launcher** from the Start menu or desktop shortcut—not from an old Command Prompt window opened before step 4.
7. **Confirm data location** — Files should appear under your parent folder, for example:

   `C:\Users\YourName\Documents\Little Arms Launcher`
8. **Optional:** Open a **new** Command Prompt and run:

```cmd
echo %LITTLE_ARMS_LAUNCHER_USER_DATA%
```

You should see your parent folder path.

***

### Full guide

#### What this does

`LITTLE_ARMS_LAUNCHER_USER_DATA` tells the Launcher which **parent directory** to use. The app creates or uses a subfolder named like the default location (for example `Little Arms Launcher`, or `Little Arms Launcher Beta` for Beta builds). You do not need to create that subfolder yourself.

#### macOS (detailed)

**Create the Launch Agent**

1. Open **Terminal** and run `mkdir -p ~/Library/LaunchAgents`.
2. Create `com.littlearms.launcher-user-data.plist` with the XML from the macOS quick start section.
3. Save it to `~/Library/LaunchAgents/`.

**Path examples for the plist:**

| Parent folder | Value in `launchctl setenv`       |
| ------------- | --------------------------------- |
| Documents     | `"$HOME/Documents"`               |
| Desktop       | `"$HOME/Desktop"`                 |
| Fixed path    | `"/Volumes/YourShare/YourFolder"` |

**Load and verify**

```bash
launchctl load ~/Library/LaunchAgents/com.littlearms.launcher-user-data.plist
launchctl setenv LITTLE_ARMS_LAUNCHER_USER_DATA "$HOME/Documents"
```

Log out and back in, then open the Launcher from Applications. Confirm data under your parent folder (for example `~/Documents/Little Arms Launcher`).

**Change or remove (macOS)**

**Change folder:** Quit the Launcher, edit the plist, then:

```bash
launchctl unload ~/Library/LaunchAgents/com.littlearms.launcher-user-data.plist
launchctl load ~/Library/LaunchAgents/com.littlearms.launcher-user-data.plist
launchctl setenv LITTLE_ARMS_LAUNCHER_USER_DATA "/your/new/parent/path"
```

Log out and back in. Existing data stays in the old folder until you move it.

**Remove:** Quit the Launcher, then:

```bash
launchctl unload ~/Library/LaunchAgents/com.littlearms.launcher-user-data.plist
rm ~/Library/LaunchAgents/com.littlearms.launcher-user-data.plist
launchctl unsetenv LITTLE_ARMS_LAUNCHER_USER_DATA
```

Log out and back in. The default location is `~/Library/Application Support/Little Arms Launcher` (or the Beta/Alpha name for those builds).

***

#### Windows (detailed)

**Set the variable (graphical)**

1. **Win + R** → `sysdm.cpl` → **Enter**.
2. **Advanced** → **Environment Variables…**
3. Under *User variables*, **New…**
   * Name: `LITTLE_ARMS_LAUNCHER_USER_DATA`
   * Value: parent path, e.g. `C:\Users\YourName\Documents`
4. **OK** through all dialogs.
5. Sign out and back in (or restart).

**Set the variable (Command Prompt, current user)**

Run in **Command Prompt** (replace the path with yours):

```cmd
setx LITTLE_ARMS_LAUNCHER_USER_DATA "C:\Users\YourName\Documents"
```

Close any open Launcher windows, sign out and back in, then start the Launcher again. `setx` does not affect already-running programs.

**Verify**

Open a new Command Prompt:

```cmd
echo %LITTLE_ARMS_LAUNCHER_USER_DATA%
```

Open the Launcher from the Start menu and check for data under `Documents\Little Arms Launcher` (or your chosen parent).

**Change or remove (Windows)**

**Change folder:** Quit the Launcher, update the user variable in **Environment Variables** (or run `setx` with the new path), sign out and back in.

**Remove:** Quit the Launcher, delete the `LITTLE_ARMS_LAUNCHER_USER_DATA` user variable, sign out and back in. Default data location:

`C:\Users\YourName\AppData\Roaming\Little Arms Launcher`

(Beta/Alpha builds use the matching folder name.)

***

### Troubleshooting

| Problem                                | macOS                                                                                                 | Windows                                                                                                                                           |
| -------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Launcher still uses the default folder | Log out/in after setup. Run `launchctl getenv LITTLE_ARMS_LAUNCHER_USER_DATA` before opening the app. | Sign out/in after setup. Open Launcher from Start menu, not an old terminal. Run `echo %LITTLE_ARMS_LAUNCHER_USER_DATA%` in a **new** cmd window. |
| Works in Terminal only                 | `.zshrc` is not enough; use the Launch Agent steps above.                                             | N/A — set the variable in Windows Environment Variables, not only in a single cmd session.                                                        |
| Permission errors                      | Ensure the parent folder exists and is writable (check network drives).                               | Same — verify read/write access to the parent path.                                                                                               |
| Beta or Alpha build                    | Set only the parent path; subfolder name matches the build.                                           | Same.                                                                                                                                             |

***

### For IT / lab administrators

<table><thead><tr><th width="154.90234375">Platform</th><th>Recommended deployment</th></tr></thead><tbody><tr><td><strong>Windows</strong></td><td>Set <code>LITTLE_ARMS_LAUNCHER_USER_DATA</code> as a <strong>User</strong> or <strong>System</strong> environment variable via Group Policy, Intune, or SCCM. Applies to GUI apps without extra steps.</td></tr><tr><td><strong>macOS</strong></td><td>Deploy the Launch Agent plist to each user’s <code>~/Library/LaunchAgents/</code> via Jamf, Intune, Kandji, or a login script that runs <code>launchctl setenv</code>.</td></tr></tbody></table>

In both cases, set the **parent** directory path only. The Launcher creates the `Little Arms Launcher` (or Beta/Alpha) subfolder automatically.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://wiki.zephyr-sim.com/getting-started/little-arms-launcher/storing-little-arms-launcher-data-in-a-custom-folder.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
