How the Agent Reach Uninstall Command Handles Config Retention with --keep-config
The --keep-config flag preserves the ~/.agent-reach directory containing config.yaml and credentials while allowing the uninstaller to remove all skill installations and mcporter entries.
When removing Agent Reach from your system, the uninstall command normally deletes all artefacts including configuration files, stored tokens, and API keys. However, by supplying the --keep-config option implemented in agent_reach/cli.py, users can retain their settings while still cleaning up skill directories and integration entries.
How --keep-config Works in agent_reach/cli.py
The logic for preserving configuration resides in the _cmd_uninstall function located in agent_reach/cli.py. When executed, the command evaluates whether the user has requested config retention before deciding whether to delete the ~/.agent-reach directory.
Parsing the Flag via argparse
The flag is defined in the argument parser between lines 98-102. When the user runs agent-reach uninstall --keep-config, argparse stores this boolean value in the keep_config variable:
keep_config = args.keep_config
Conditional Config Directory Removal
Inside the _cmd_uninstall function (lines 102-105), the code checks if not keep_config: to determine whether to proceed with deletion. If the flag is absent, the function removes the entire configuration directory using shutil.rmtree. If the flag is present, the code skips the removal operation and prints a preservation message:
Skipping config directory (--keep-config): /home/username/.agent-reach
Unchanged Cleanup Operations
Regardless of the --keep-config setting, the uninstaller continues to remove:
- OpenClaw skill installations
- Claude Code skill directories
- Generic Agent skill folders
- All mcporter registry entries
These operations ensure that while credentials remain intact, the software is fully unregistered from the host environment.
Practical Usage Examples
To perform a complete uninstallation that removes all configuration data:
agent-reach uninstall
To uninstall while preserving your ~/.agent-reach directory containing config.yaml and API keys:
agent-reach uninstall --keep-config
Executing the second command produces output similar to:
Agent Reach Uninstaller
========================================
Skipping config directory (--keep-config): /home/username/.agent-reach
Removed OpenClaw skill: /home/username/.openclaw/skills/agent-reach
Removed Claude Code skill: /home/username/.claude/skills/agent-reach
Removed Agent skill: /home/username/.agents/skills/agent-reach
Removed mcporter entry: exa
Removed mcporter entry: xiaohongshu
Summary
- The
--keep-configflag prevents deletion of the~/.agent-reachdirectory during uninstallation. - The retention logic is implemented in
_cmd_uninstallwithinagent_reach/cli.py(lines 102-105). - When enabled, the uninstaller skips
shutil.rmtreefor the config directory but continues removing skills and mcporter entries. - Preserved files include
config.yaml, stored tokens, cookies, and API keys.
Frequently Asked Questions
What files are preserved when using --keep-config?
The flag preserves the entire ~/.agent-reach directory, which includes the config.yaml file and all subdirectories containing stored tokens, cookies, and API keys required for authentication with various services.
Does --keep-config affect skill or mcporter removal?
No. The flag only impacts the configuration directory retention. According to the source code in agent_reach/cli.py, the uninstaller continues to remove all skill installations (OpenClaw, Claude Code, and Agent directories) and delete all mcporter registry entries regardless of the --keep-config setting.
Where is the config retention logic implemented?
The logic resides in the _cmd_uninstall function in agent_reach/cli.py, specifically between lines 102-105, where the code checks the keep_config boolean before conditionally executing shutil.rmtree on the configuration path.
Can I reinstall Agent Reach and reuse my saved configuration?
Yes. By using --keep-config, the ~/.agent-reach directory remains intact on your filesystem. When you reinstall Agent Reach, the application will read the existing config.yaml and credentials, allowing you to resume operations without reconfiguring API keys or authentication tokens.
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 →