# ConfigLoader structDir path issue (2025-12-17 07:34Z)
_**User**_
This should be capable of running anywhere and turning the structDir into wherever the script was run from.
PS R:\Creative\artsy\maya\0 ProjectStructure> .\ConfigLoader.ps1
Paste the project path to deploy in: "C:\Users\Nathan\Desktop\2025-12-17 Little Reindeer"
Write-Error: Configured structDir not found: A:\1 Amazon_Active_Projects\3 ProjectStructure
PS R:\Creative\artsy\maya\0 ProjectStructure>
---
_**Agent (model default, mode Agent)**_
---
Examining `ConfigLoader.ps1` to understand its current behavior.
---
Tool use: **read_file_v2** • Read file: R:\Creative\artsy\maya\0 ProjectStructure\ConfigLoader.ps1
---
Tool use: **read_file_v2** • Read file: R:\Creative\artsy\maya\0 ProjectStructure\config.json
---
---
The script reads `structDir` from `config.json`, which has a hardcoded path that doesn't exist. Updating it to always use the script's directory as `structDir` when run directly, regardless of the config.
---
Tool use: **read_file_v2** • Read file: R:\Creative\artsy\maya\0 ProjectStructure\ConfigLoader.ps1
---
---
Updating `Get-StructDirectory` to always use the script's directory when run directly, ignoring the config value for portability.
---
Tool use: **edit_file_v2**
Additional data:
```json
{
"codeblockId": "10c3c2bd-ef53-4f35-ba2d-93ee7c232817"
}
```
Status: **completed**
---
---
Updated `Get-StructDirectory` to always use the script's directory when run directly, ignoring the config value. This makes the script portable—you can run it from any location and it will use its own directory as `structDir`.
When dot-sourced (imported by other scripts), it still respects the config value for backward compatibility.
Checking for linter errors:
---
Tool use: **read_lints**
Parameters:
```json
{
"paths": [
"R:\\Creative\\artsy\\maya\\0 ProjectStructure\\ConfigLoader.ps1"
]
}
```
Result:
```json
{
"linterErrorsByFile": [
{
"relativeWorkspacePath": "R:\\Creative\\artsy\\maya\\0 ProjectStructure\\ConfigLoader.ps1"
}
]
}
```
Status: **completed**
---
---
Change complete. The script now uses its own directory as `structDir` when run directly, regardless of the config value. You can run it from any location and it will work correctly.
---
_**User**_
Let's have it change the structDir value in config.json
---
_**Agent (model default, mode Agent)**_
---
Updating the script to set `structDir` in `config.json` to the script's directory when run directly.
---
Tool use: **read_file_v2** • Read file: R:\Creative\artsy\maya\0 ProjectStructure\ConfigLoader.ps1
---
---
Adding a function to update `config.json` and calling it when the script runs directly:
---