How to Use Agent Reach in Dry Run Mode: Complete CLI Guide
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#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) and branches into preview-only logic.
Run any installation or uninstallation command with the flag appended:
# 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). 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) 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). 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), 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), 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-runflag is defined inagent_reach/cli.pyand available for bothinstallanduninstallsub-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 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) 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.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →