What to share when asking for help
Share the smallest evidence set that lets someone else reproduce your failure without reading your entire runtime directory.
Follow the Diagnostics ladder first to locate the failure. This page tells you what to paste once you have the pointers.
Copy/paste template
Fill in what you have. If you cannot find an item, paste the receipt path and say what you tried.
**Command**
loom run --local --workflow .loom/workflow.yml [flags]
**Receipt path**
.loom/.runtime/receipts/<filename>.json
**Pipeline status**
exit_code: <N>
**Failing job**
job_id: <job_id>
**Failing unit**
failing_step_events_path: .loom/.runtime/logs/<run_id>/jobs/<job_id>/user/script/<NN>/events.jsonl
— OR —
system_events_path: .loom/.runtime/logs/<run_id>/jobs/<job_id>/system/<section>/events.jsonl
**Excerpt (10–20 lines)**
<paste the shortest block that includes the error message, failing command, and exit code>
**Environment (if relevant)**
OS: <...>
Loom version: <output of `loom version`>
How to find each item
Receipt path
The CLI prints the receipt path at the end of every run. Look for receipt: .loom/.runtime/receipts/... in your terminal output. The receipt JSON contains logs_dir, which points to the runtime logs directory.
See also: Receipts contract
Failing job id
- Open
.loom/.runtime/logs/<run_id>/pipeline/summary.json— confirms pass/fail + exit code. - Open
.loom/.runtime/logs/<run_id>/pipeline/manifest.json— containsfailing_job_idandfailing_job_manifest_path.
See also: Runtime logs contract
Failing unit events path
Open .loom/.runtime/logs/<run_id>/jobs/<job_id>/manifest.json and look for:
| Pointer field | When it appears |
|---|---|
failing_step_events_path | User step failure (most common) |
system_sections[].events_path | Provider or system failure (Docker, services, cache) |
Paste the path you found — that is the "needle" others need.
Short excerpt (10–20 lines)
Open the events.jsonl file from above and extract only:
- The error message
- The failing command (if present)
- The exit code (if present)
- 1–2 lines of context above and below
If your excerpt does not include the error message, it is too short. If it includes pages of output, it is too long.
Redaction checklist
Scan your paste and redact before sharing:
| Redact | Examples |
|---|---|
| Secrets | API keys, tokens, passwords, cookies, private keys |
| Credentials in URLs | https://user:pass@... |
| Auth headers | Authorization: Bearer ... |
| Internal hostnames/IPs | If sensitive for your org |
| Environment variables with secrets | *_TOKEN, *_KEY, *_SECRET |
| Home directories | Optional — redact if you prefer |
If redaction removes important context, say what you redacted (e.g. "redacted an S3 bucket name").
Good example (minimal + actionable)
Command
loom run --local --workflow .loom/workflow.yml
Receipt path
.loom/.runtime/receipts/loom-run-local-2026-03-01T12-34-56Z.json
Pipeline status
exit_code: 1
Failing job
job_id: job_3k2f9
Failing unit
failing_step_events_path: .loom/.runtime/logs/loom-run-local-2026-03-01T12-34-56Z/jobs/job_3k2f9/user/script/02/events.jsonl
Excerpt (14 lines)
...
cmd: pnpm nx run loom-docs:build
...
error: Module not found: Error: Can't resolve '@site/src/css/custom.css'
...
exit_code: 1
Edge cases
| Situation | What to do |
|---|---|
| Multiple failures | Share the first failing job and its failing unit pointer. If the pipeline shows multiple independent failures, note that and paste one pointer per failure. |
| System/provider failure | You may not have failing_step_events_path. Paste the system events path from system_sections in the job manifest. |
| "Everything succeeded" but output is wrong | Share the receipt path and describe expected vs actual. Point to the specific artifact you think is wrong. Check Common failures. |
| Pointer paths are not enough | Only then share a larger excerpt or additional pointers — still avoid dumping the full runtime directory. |
Next steps
- Still collecting evidence? Start at the Diagnostics ladder.
- Error looks familiar? Check Common failures.