FAQs
Quick answers to the most common Loom questions. New here? Start with What is Loom, then run Hello Loom.
Supported today (Alpha 1): local execution via loom run --local (Linux target), using host and Docker providers, caching, secrets, and includes/templates.
Planned: remote runners, runner pools, and broader environments.
Installation and setup
How do I install Loom and run my first workflow?
Use the released installer:
curl -fsSL https://gitlab.com/beepbeepgo/loom-build/loom/-/raw/main/install-loom.sh | bash
The default install adds both loom and loom-mcp to ~/.local/bin.
Then follow Hello Loom for the first workflow, validation, local run, and where artifacts land.
Once set up, the standard invocation is:
loom run --local --workflow .loom/workflow.yml
What are the prerequisites?
- Always: a Linux environment for
loom run --localand a working Loom install on yourPATH(Hello Loom). - If your workflow uses
image:jobs: Docker installed with the daemon running. See Docker provider. - Workflow-specific: any language toolchains, CLIs, or credentials your scripts need. Loom runs them — it doesn't install them unless your workflow does.
Is Linux required?
Yes. Alpha 1 targets Linux for local execution. On macOS or Windows, run Loom inside a Linux environment. Docker-provider jobs (image: set) still work within that Linux context.
Execution and providers
Is remote execution supported?
Not today. Alpha 1 is local-only via loom run --local. See CLI run for canonical behavior.
What providers are supported?
| Provider | When used | Docs |
|---|---|---|
| Host | Jobs without image: — runs on your local shell | Host provider |
| Docker | Jobs with image: — runs inside a container | Docker provider |
Provider selection is automatic and per-job. See Providers.
Do I need Docker?
Only if your workflow uses the Docker provider (jobs with image:). Setup and requirements: Docker provider.
Workflow authoring
Do workflows support variables?
Yes — variables are a core concept. See Variables.
Do workflows support secrets?
Yes. Loom has a first-class secrets model for sensitive values. Secrets store references in workflow YAML (not values), and are automatically redacted in all runtime output.
- Concepts → Secrets — mental model, injection modes, redaction
- Workflows → Secrets — YAML syntax, provider URIs, examples
Implemented providers: env://, keepass://, and op:// (1Password via Go SDK — no op CLI required).
How do I add secrets to a workflow?
Add a secrets block to a job (not to default — that's intentionally disallowed). Each entry maps a name to a provider URI:
deploy:
stage: ci
target: linux
secrets:
API_TOKEN:
ref: env://DEPLOY_API_TOKEN
script:
- curl -H "Authorization: Bearer $(cat $API_TOKEN)" https://api.example.com/deploy
By default, file: true — the job receives a file path. Read it with cat $VAR_NAME.
For the full authoring guide: Workflows → Secrets. For local setup patterns: Pattern: secrets for local development.
What do SECRETS_* error codes mean?
| Code | Meaning | Fix |
|---|---|---|
SECRETS_REQUIRED_MISSING | A required env var isn't set | Export it before running Loom |
SECRETS_REF_INVALID | The ref URI is malformed | Check the scheme (env://, keepass://, op://) |
SECRETS_PROVIDER_UNAVAILABLE | Provider not available (missing auth/config) | Verify provider config and credentials |
SECRETS_UNSAFE_DEBUG_TRACE | CI_DEBUG_TRACE=true + file: false secrets | Disable trace or switch to file: true |
Full reference with cause matrices: Secrets error codes.
Can I compose reusable workflow templates?
Yes. Use include to import template files and extends to inherit from hidden (.-prefixed) jobs:
include:
- local: .loom/templates/common.yml
check:
extends: .base
stage: ci
target: linux
script:
- pnpm i --frozen-lockfile
See Pattern: templates and includes and Includes and templates.
Caching
Does Loom support caching?
Yes. Cache configuration preserves directories between runs (package stores, build caches). On a cache hit, Loom restores outputs in seconds instead of re-running expensive installs or builds.
- Cache concept — how caching works
- Workflows → Cache — YAML syntax, key design, policies
- Pattern: caching strategies — copy-pastable recipes for common use cases
How do I verify my cache is correct?
Run with --cache-diff to compare cached outputs against what the job would produce fresh:
loom run --local --cache-diff --workflow .loom/workflow.yml
If outputs diverge, Loom quarantines the cache entry. See Cache concept → Quarantine.
Troubleshooting
What should I read first when a run fails?
Use pointer-first diagnostics. Start with the Diagnostics ladder, then follow artifacts in order:
- Receipt — high-level metadata and run pointers: Receipts
- Manifest — what happened and where to find details: Runtime logs
- Structured events — the smallest "why it failed" evidence
- Only then fall back to raw stdout/stderr logs
For the formal schema: Runtime logs contract.
Where are run artifacts stored?
Under .loom/.runtime/:
| Artifact | Path | Docs |
|---|---|---|
| Receipts | .loom/.runtime/receipts/ | Receipts |
| Run logs | .loom/.runtime/logs/<run_id>/ | Runtime logs |
| Cache store | .loom/.runtime/cache/ | Cache concept |
Navigate via the receipt and manifests before opening large logs.
How do I find the run_id?
Two ways:
- Console output —
loom runprints therun_idand logs location. - Receipt filename — under
.loom/.runtime/receipts/, the receipt name includes therun_id. See Receipts contract.
What should I share when asking for help?
Start with What to share. As a rule of thumb:
- The command you ran (including flags)
- The
run_id(from console output or receipt) - The receipt path under
.loom/.runtime/receipts/ - The failing job/step pointer from the manifest (not a pasted wall of logs)
What Loom version should I include in a bug report?
Include the exact Loom binary you ran, any version string the CLI prints, and the run_id plus receipt/log pointers. See What to share.
CLI reference
Full CLI documentation: CLI overview.
Next steps
- Start here: Hello Loom
- Understand Loom: What is Loom
- Debug efficiently: Diagnostics ladder
- Handle secrets: Concepts → Secrets and Workflows → Secrets
- Optimize with caching: Cache concept and Caching strategies
- Compose workflows: Includes and templates
- Agent integration: Agent integration