# How to Use Agent Reach in Dry Run Mode: Complete CLI Guide

> Master Agent Reach dry run mode with this CLI guide. Preview system changes, channels, and proxies without side effects. Understand your Agent Reach installation before it happens.

- Repository: [Pnant/Agent-Reach](https://github.com/Panniantong/Agent-Reach)
- Tags: how-to-guide
- Published: 2026-06-25

---

**Agent Reach supports a `--dry-run` flag that executes the full installation logic without side effects, printing a step-by-step preview of system changes, optional channels, and proxy configurations that would be applied.**

The Panniantong/Agent-Reach repository provides a command-line interface for automating agent deployments. When you use Agent Reach in dry run mode, the tool runs through the same decision logic as a real installation but replaces every side-effecting operation with a descriptive printout, allowing you to audit changes before they occur.

## What Is Agent Reach Dry Run Mode?

Dry run mode is a preview-only execution path implemented in the `agent-reach` CLI. Instead of modifying your system, the tool enumerates what it would do—checking dependencies, installing optional channels, and configuring proxies—while explicitly stating that no changes are being made.

## How to Enable Dry Run Mode

The `--dry-run` argument is defined in [[`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py)](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py#L73-L74) as a boolean flag added to the `install` and `uninstall` sub-commands. When present, the CLI stores the value in a local `dry_run` variable ([lines 78-79](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py#L78-L79)) and branches into preview-only logic.

Run any installation or uninstallation command with the flag appended:

```bash

# Preview a full automatic installation

agent-reach install --dry-run

# Preview with environment detection and proxy configuration

agent-reach install --env=auto --proxy=http://user:pass@proxy.example.com --dry-run

# Preview specific optional channels

agent-reach install --channels=twitter,reddit --dry-run

# Preview an uninstall operation

agent-reach uninstall --dry-run

```

## What Happens During a Dry Run

When the installer detects the flag, it follows a specific code path that mirrors the real installation flow but suppresses all mutations:

### Banner and Initialization

The tool first prints a explicit banner: `"DRY RUN — showing what would be done (no changes)"` ([lines 89-90](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py#L89-L90)). This signals that the subsequent output represents a simulation rather than actual system changes.

### System Dependency Auditing

Rather than invoking the live installation routines, the code calls helper functions that only describe actions. Specifically, `_install_system_deps_dryrun()` ([lines 872-889](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py#L872-L889)) enumerates each system dependency—such as the `gh` CLI or Node.js—and reports whether it is already present or would be installed, without touching the underlying system.

### Optional Channel Preview

If you specify optional channels via `--channels`, the dry run logic prints a message like `[dry-run] Would install optional channels: …` ([lines 68-70](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py#L68-L70)). This allows you to verify exactly which channel installers would execute before granting permission.

### Proxy Configuration Preview

When a proxy is supplied via the `--proxy` argument, the tool outputs `[dry-run] Would save network proxy` ([lines 28-31](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py#L28-L31)), showing the configuration that would be written without actually modifying network settings.

### Completion Confirmation

The process concludes with the message `"Dry run complete. No changes were made."` ([lines 40-41](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py#L40-L41)), ensuring you have explicit confirmation that the system remains unmodified.

## Dry Run Mode for Uninstall Operations

The `--dry-run` flag also functions with the `uninstall` sub-command. When invoked as `agent-reach uninstall --dry-run`, the tool previews what would be removed—such as system dependencies, configuration files, or channel data—without executing the deletions. This follows the same branching logic as the install command, ensuring consistency across the CLI surface.

## Summary

- **The `--dry-run` flag** is defined in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py) and available for both `install` and `uninstall` sub-commands.
- **System dependencies** are audited via `_install_system_deps_dryrun()` without installation.
- **Optional channels** are listed explicitly with a `[dry-run]` prefix before any would-be installation.
- **Proxy configurations** are previewed but not saved to the system.
- **No mutations occur**; the tool outputs a descriptive summary and exits after printing "Dry run complete. No changes were made."

## Frequently Asked Questions

### What is the exact flag to use Agent Reach in dry run mode?

Use `--dry-run` appended to any `agent-reach install` or `agent-reach uninstall` command. This flag is parsed in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py) and triggers the preview-only execution path.

### Does dry run mode check system dependencies?

Yes. The helper function `_install_system_deps_dryrun()` (lines 872-889 in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py)) enumerates each dependency, reporting whether it exists or would be installed, without actually modifying your system.

### Can I preview optional channel installations in dry run mode?

Yes. When you specify `--channels=twitter,reddit` with `--dry-run`, the CLI outputs `[dry-run] Would install optional channels: …` (lines 68-70), showing exactly which channel installers would execute.

### Is dry run mode available for uninstall operations?

Yes. The `--dry-run` flag works with `agent-reach uninstall`, allowing you to preview what would be removed—such as dependencies and configuration files—before any deletions occur.