# Runs & Artifacts > Read run results in the UI, download artifacts with the BH CLI, and delete runs you no longer need. ## Reading a Run Open `.../workflows//runs` and pick a run. The run tree shows every activity and step with its status (`SUCCEEDED`, `FAILED`, `SKIPPED`), logs, and files produced. Steps you gave an `id` to can be cross-referenced from later conditions via `run.steps.` (see [Syntax Reference](/workflows/syntax-reference#conditions)). ## Downloading Artifacts Artifacts belong to the run. Pull them without the browser: ```bash # Download one artifact file from a run bh run artifact download --run-id "" --artifact-name "" -o findings.txt # Upload a shared file to blob storage (e.g. wordlists, templates) bh blob upload --src ./wordlist.txt --dst "wordlists/dirs.txt" ``` Blob storage is managed from the CLI. Reading a blob from inside a workflow is not yet supported by any step. ## Cleanup ```bash bh run artifact delete --run-id "" --artifact-name "" bh run delete --run-id "" ``` Prefer `expires_in` on `step.upload_artifact` for automatic retention of noisy raw output; use explicit deletes for one-off cleanup. ## Next Steps - [Projects Overview](/projects/overview): The full object model. - [Steps](/workflows/steps#artifacts): How artifacts move between activities. - [BH Commands](/bh/commands): Full CLI reference.