Command Reference
Overview
iconchanger <command> [options]Commands
status
Show current configuration status.
bash
iconchanger statusDisplays:
- Number of app aliases configured
- Number of cached icons
- Helper script status
list
List all aliases and cached icons.
bash
iconchanger listShows a table of all configured aliases and all cached icon entries.
set-icon
Set a custom icon for an application.
bash
iconchanger set-icon <app-path> <image-path>Arguments:
app-path— Path to the application (e.g.,/Applications/Safari.app)image-path— Path to the icon image (PNG, JPEG, ICNS, etc.)
Examples:
bash
# Set a custom Safari icon
iconchanger set-icon /Applications/Safari.app ~/icons/safari.png
# Relative paths work too
iconchanger set-icon /Applications/Slack.app ./slack-icon.icnsremove-icon
Remove a custom icon and restore the original.
bash
iconchanger remove-icon <app-path>Example:
bash
iconchanger remove-icon /Applications/Safari.apprestore
Restore all cached custom icons. Useful after a system update or when apps reset their icons.
bash
iconchanger restore [options]Options:
--dry-run— Preview what would be restored without making changes--verbose— Show detailed output for each icon--force— Restore even if the icon appears unchanged
Examples:
bash
# Restore all cached icons
iconchanger restore
# Preview what would happen
iconchanger restore --dry-run --verbose
# Force restore everything
iconchanger restore --forceexport
Export aliases and cached icon configuration to a JSON file.
bash
iconchanger export <output-path>Example:
bash
iconchanger export ~/Desktop/my-icons.jsonimport
Import a configuration file.
bash
iconchanger import <input-path>Import only adds new items — it never replaces or removes existing entries.
Example:
bash
iconchanger import ~/Desktop/my-icons.jsonvalidate
Validate a configuration file before importing.
bash
iconchanger validate <file-path>Checks JSON structure, required fields, and data integrity without making changes.
Example:
bash
iconchanger validate ~/Desktop/my-icons.jsonescape-jail
Escape macOS Tahoe's squircle jail by re-applying bundled icons as custom icons. Custom icons bypass squircle enforcement, preserving the original icon shape.
bash
iconchanger escape-jail [app-path] [options]Arguments:
app-path— (Optional) Path to a specific.appbundle. If omitted, processes all apps in/Applications.
Options:
--dry-run— Preview what would be done without making changes--verbose— Show detailed output
Examples:
bash
# Escape jail for all apps in /Applications
iconchanger escape-jail
# Preview what would happen
iconchanger escape-jail --dry-run --verbose
# Escape jail for a specific app
iconchanger escape-jail /Applications/Safari.appWARNING
Custom icons do not support macOS Tahoe's Clear, Tinted, or Dark icon modes. They remain as static bitmaps.
completions
Generate shell completion scripts for tab completion.
bash
iconchanger completions <shell>Arguments:
shell— Shell type:zsh,bash, orfish
Examples:
bash
# Zsh (add to ~/.zshrc)
source <(iconchanger completions zsh)
# Bash (add to ~/.bashrc)
source <(iconchanger completions bash)
# Fish
iconchanger completions fish > ~/.config/fish/completions/iconchanger.fish