> For the complete documentation index, see [llms.txt](https://boxlang-ide.ortusbooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://boxlang-ide.ortusbooks.com/vscode/boxlang-home-configuration.md).

# BoxLang Home Configuration

The **BoxLang Homes** panel provides a central interface for managing BoxLang Home directories directly within VS Code. It appears in the BoxLang sidebar alongside the Servers and Help panels.

<figure><img src="/files/cmxnJDdpCw1Ew3HmHcGa" alt="" width="260"><figcaption></figcaption></figure>

***

## What is BoxLang Home?

**BoxLang Home** (`~/.boxlang` by default) is the directory where BoxLang stores:

* **Configuration** — `boxlang.json` runtime settings
* **Modules** — Installed BoxLang modules from ForgeBox
* **Class files** — Compiled BoxLang classes (cache)
* **Logs** — Runtime and application log files
* **Custom tags** — User-defined custom tag libraries

***

## Panel Structure

The BoxLang Homes tree view displays:

```
🏠 Default Home (~/.boxlang)
├── 📄 boxlang.json (Config File)
├── 📁 modules/
│   └── 📦 bx-compat-cfml (Module)
├── 📁 logs/
│   └── 📄 boxlang.log
└── 📁 classes/
```

Each registered BoxLang Home appears as a top-level item with nested folders and files.

***

## Actions

### Top-Level Home Actions

Hover over a BoxLang Home to reveal action buttons:

| Action                    | Description                                                                                                   |
| ------------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Clear Class Files** 🗑️ | Delete all compiled `.class` files. Useful after upgrading BoxLang or when experiencing class caching issues. |
| **Open BoxLang Home** 📂  | Open the BoxLang Home directory in your system file manager.                                                  |
| **Delete Home** 🗑️       | Remove a registered BoxLang Home. **Cannot delete the default home.**                                         |
| **Open Config File** ✏️   | Open `boxlang.json` for editing.                                                                              |

### Log Actions

Hover over a log file in the tree:

| Action            | Description                                                                         |
| ----------------- | ----------------------------------------------------------------------------------- |
| **Open Log** 📄   | Open the log file in the editor. Useful for inspecting runtime errors and warnings. |
| **Clear Log** 🗑️ | Clear the log file contents. Useful for focusing on recent activity.                |

### Module Actions

The **modules** directory and individual modules have their own actions.

**On the modules directory:**

| Action               | Description                                                                                   |
| -------------------- | --------------------------------------------------------------------------------------------- |
| **Install Module** ➕ | Install a BoxLang module from ForgeBox. Prompts for the module slug (e.g., `bx-compat-cfml`). |

**On an installed module:**

| Action                       | Description                                                       |
| ---------------------------- | ----------------------------------------------------------------- |
| **Remove Module** 🗑️        | Uninstall the module from this BoxLang Home.                      |
| **Open Module Home Page** 🌐 | Open the module's ForgeBox page or documentation in your browser. |

***

## Installing Modules

Modules extend BoxLang with additional functionality — compatibility layers, premium features, framework integrations, and more.

### From the Panel

1. In the BoxLang Homes panel, expand a BoxLang Home.
2. Hover over the **modules** folder and click ➕ **Install Module**.
3. Enter the module slug when prompted (e.g., `bx-compat-cfml`).
4. The module is downloaded from ForgeBox and installed.

### Common Modules

| Module             | Slug             | Purpose                           |
| ------------------ | ---------------- | --------------------------------- |
| CFML Compatibility | `bx-compat-cfml` | Compatibility layer for CFML code |
| PDF                | `bx-pdf`         | PDF generation and manipulation   |
| Redis              | `bx-redis`       | Redis cache and session provider  |
| CSV                | `bx-csv`         | CSV file processing               |
| Spreadsheet        | `bx-spreadsheet` | Excel/Spreadsheet operations      |

{% hint style="info" %}
Modules installed in the **default** BoxLang Home are available to all projects. To install project-specific modules, use a workspace-scoped BoxLang Home or `boxlang.json` `modulesDirectory`.
{% endhint %}

***

## Managing Multiple Homes

You can register multiple BoxLang Home directories:

1. Click the ➕ button in the BoxLang Homes tree view title bar.
2. Select or enter the path to a BoxLang Home directory.
3. The new home appears in the tree view with its own modules, logs, and config.

**Use cases for multiple homes:**

* **Project isolation** — Separate homes for different projects
* **Version testing** — Test against different BoxLang configurations
* **Team environments** — Shared home directory with pre-installed modules

***

## Related Pages

{% content-ref url="/pages/IrW4QLiDssODkp3WA2Gy" %}
[Settings Reference](/vscode/settings-reference.md)
{% endcontent-ref %}

{% content-ref url="/pages/Y3ZDPEP8qW43OySIjbi8" %}
[Commands Reference](/vscode/commands-reference.md)
{% endcontent-ref %}

{% content-ref url="/pages/lE5eNmqiJBcFWP2RVHgq" %}
[Project Configuration](/vscode/project-configuration.md)
{% endcontent-ref %}

{% content-ref url="/pages/oBXgZxQQsi2vFssObCb6" %}
[MiniServer](/vscode/miniserver.md)
{% endcontent-ref %}


---

# 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://boxlang-ide.ortusbooks.com/vscode/boxlang-home-configuration.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.
