Inspect effective config
Use loom config show when you want to answer one of these questions quickly:
- Which config files did Loom discover here?
- Which value won after user config, repo config, and env overlays were merged?
- Will
loom run --localsee the runtime default I expect?
Basic command
loom config show
On success, the command prints YAML to stdout. The output can include:
sources.userConfigPathwhen~/.config/loom/config.ymlexistssources.repoConfigPathwhen.loom/config.ymlexists in the discovered repo- the effective
runtimeandprovidersconfig after layering
Example:
sources:
userConfigPath: /home/alex/.config/loom/config.yml
repoConfigPath: /work/repo/.loom/config.yml
runtime:
docker:
workspaceMount: ephemeral_volume
providers:
keepass:
aliases:
team/app:
path: /work/repo/.loom/vaults/team-app.kdbx
passwordEnv: TEAM_APP_PASSWORD
keyfileEnv: TEAM_APP_KEYFILE
op:
serviceAccountTokenEnv: LOOM_OP_TOKEN
Fast troubleshooting flow
When config does not look right, check it in this order:
- Run
loom config show. - Confirm whether
sources.userConfigPathandsources.repoConfigPathappear. - Check the final winning value under
runtimeorproviders. - Re-run with a one-off env overlay if you want to test precedence without editing files.
For example:
LOOM_DOCKER_WORKSPACE_MOUNT=ephemeral_volume loom config show
That changes the effective value for this process only. It does not write back to either config file.
How repo discovery works
loom config show starts from the current working directory and walks upward
until it finds a repo marker. A directory counts as the repo root when Loom finds
one of:
.loom/config.yml.loom/workflow.yml.git
That means you can usually run loom config show from the repo root or from a
subdirectory and get the same repo-scoped result.
If no repo root is discovered, Loom skips the repo config layer and prints the effective config from built-in defaults, user config, and supported env overlays.
What you will not see
loom config show prints the resolved config structure, not every secret or
one-off runtime input.
In particular:
- it shows
providers.op.serviceAccountTokenEnv: LOOM_OP_TOKEN, not the actual 1Password service account token - it shows KeePass
passwordEnvandkeyfileEnvreferences, not the password or keyfile contents - it does not show
loom run --local --docker-workspace-mount ..., because that flag belongs to the run command, not the config loader
Common misreads
- Seeing a value in
loom config showdoes not meanloom checkorloom compilewill read it. Those commands do not consume layered runtime config. - Changing runtime config does not change workflow behavior in
.loom/workflow.yml. Runtime config is runtime-only, not a second workflow language. - If you already exported a concrete runtime env var such as
LOOM_KEEPASS_DB_TEAM_APP_PATH,loom run --localkeeps that existing value instead of replacing it with a default from config.