| name | debug-deployment |
| description | Debug a failed or misbehaving dltHub Platform deployment. Use when a runtime job fails, produces unexpected results, or the user wants to check job status and logs. |
Debug dltHub Platform deployment
Reference: https://dlthub.com/docs/hub/pipeline-operations/monitoring.md (pipeline health, logs, failure diagnosis)
Check job status
Commands accept job names or selectors (fnmatch patterns):
dlthub job list
dlthub job list batch
dlthub job list "tag:ingest"
dlthub job list "schedule:*"
dlthub job info <name>
dlthub job runs list [name_or_selector]
dlthub job runs list [name_or_selector] --running
dlthub job runs info <name> [run#]
Debug job definitions
dlthub deploy --dry-run
dlthub deploy --show-manifest
View logs
dlthub job logs <name_or_selector>
dlthub job runs logs <name> [run#]
dlthub job logs <name> -f
Cancel running jobs
dlthub job cancel <name>
dlthub job cancel "tag:backfill"
dlthub job cancel batch --dry-run
dlthub job runs cancel <name> [run#]
Access production data (read only)
- Figure out right profile for data access.
- access profile if it is
configured (list profiles). if not: prod profile (if configured)
- if none is present ask user which profile to use
- ALWAYS ask human before accessing production data. Confirm the profile
- pin the profile
- use mcp tools, run cli, python scripts
- pin dev profile after work is done
to run a single command on given profile use:
dlthub local run my_pipeline.py --profile prod
WORKSPACE__PROFILE=prod uv run dlthub local pipeline info my_pipeline
Note: you must pin the production profile for mcp server to see the change
Other useful commands
dlthub job trigger <selector>
dlthub job trigger <selector> --refresh
dlthub job trigger <selector> --profile <name>
dlthub job trigger <selector> --dry-run
dlthub pipeline run <pipeline_name>
dlthub workspace connect <name_or_id>
dlthub info
dlthub workspace deployment list
dlthub workspace deployment info [version]
dlthub workspace deployment sync [version] [--dry-run]
dlthub workspace configuration list
dlthub workspace configuration info [version]
dlthub workspace configuration sync [version] [--dry-run]
dlthub local clean
dlthub local clean --skip-data-dir
Inspect local pipeline state
dlthub local pipeline list
dlthub local pipeline info [pipeline_name]
dlthub local pipeline failed-jobs [pipeline_name]
dlthub local pipeline trace [pipeline_name]
Open the web dashboard (for humans)
dlthub show
Prints the dltHub web UI URL. It should open automatically, but if the user says it does not, ask them to open it themselves.
Quick diagnosis
If a job failed:
dlthub job runs info <name> [run#] -- check exit status and timing
dlthub job runs logs <name> [run#] -- read the error output
- Common causes:
- Missing dependencies in
pyproject.toml -- all packages must be declared, not just locally installed
- Secrets not configured for
prod profile -- runtime uses prod profile, ask the user to check .dlt/prod.secrets.toml — NEVER access it directly, only the user may modify it
- Script missing
if __name__ == "__main__": -- the job does nothing without it
dev_mode=True left in -- drops and recreates dataset on every run
- Wrong destination credentials -- prod profile may point to a different destination than dev
- Job timeout -- default is 120 minutes; override with
execute={"timeout": "6h"} in the decorator
- After fixing, relaunch with
dlthub run <name_or_file>