Troubleshooting Guide¶
Home > Troubleshooting Guide
This guide covers common issues, error messages, and solutions for AppImage Updater.
Getting Help¶
Command Usage Help¶
AppImage Updater provides helpful usage information when you run commands without required arguments:
# Get help for any command by running it without arguments
appimage-updater config # Shows config command help
appimage-updater show # Shows show command help
appimage-updater edit # Shows edit command help
appimage-updater remove # Shows remove command help
# Or use the traditional --help flag
appimage-updater config --help
appimage-updater --help # Main help
This makes it easy to explore available options without needing to remember help flags.
Quick Diagnostics¶
Check System Status¶
# Run with debug output
appimage-updater --debug check --dry-run
# Verify configuration
appimage-updater list
# Check specific application
appimage-updater show MyApp
Common Debug Information¶
Look for these key indicators in debug output:
- GitHub API authenticated: True/False
- Rate limit remaining: X/5000 (authenticated) or X/60 (unauthenticated)
- Pattern matching results: Found X assets
- Download directory: Exists and writable
Installation Issues¶
Command Not Found¶
Error: appimage-updater: command not found
Solutions:
- Verify installation:
- Check PATH:
- Reinstall with pipx (recommended):
- Add to PATH manually:
Permission Denied¶
Error: Permission denied
when running commands
Solutions:
- Check file permissions:
- Verify directory permissions:
Configuration Issues¶
Config File Not Found¶
Error: Configuration file not found
Solutions:
- Run any command to create configuration automatically:
This will automatically create the configuration directory and files.
- Specify config location:
- Manually create minimal config (if automatic creation fails):
mkdir -p ~/.config/appimage-updater/apps
echo '{"global_config": {"concurrent_downloads": 3, "timeout_seconds": 30}}' > ~/.config/appimage-updater/config.json
Invalid JSON Configuration¶
Error: JSON decode error
or Invalid configuration
Solutions:
- Validate JSON syntax:
-
Common JSON issues:
-
Missing commas between objects
- Trailing commas (not allowed in JSON)
- Unescaped quotes in strings
-
Missing closing brackets/braces
-
Backup and regenerate:
Option A: Simple directory backup
# Backup entire configuration directory
cp -r ~/.config/appimage-updater ~/.config/appimage-updater.backup
# Remove problematic config and let it regenerate
rm -rf ~/.config/appimage-updater
appimage-updater list # This will recreate the config automatically
Option B: Export configurations as commands (recommended)
# Export all application configurations as add commands
appimage-updater show --add-command > app-add-commands.sh
# Backup global configuration
appimage-updater config show --format json > config.json.backup
# Remove problematic application configs
rm ~/.config/appimage-updater/apps/*.json
# Restore applications by running the exported commands
bash ./app-add-commands.sh
# Restore global config settings manually if needed
# (Review config.json.backup and use 'appimage-updater config set' commands)
This approach is safer as it preserves your configuration as executable commands that can be version-controlled.
Application Not Found¶
Error: Application 'MyApp' not found
Solutions:
- List all applications:
- Check case sensitivity:
- Add missing application:
Network Issues¶
GitHub API Rate Limits¶
Error: API rate limit exceeded
Solutions:
- Set up GitHub authentication:
- Check current rate limit status:
This shows how many API requests you have remaining and when the limit resets:
# With authentication (shows limit of 5000/hour)
curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/rate_limit
# Without authentication (shows limit of 60/hour)
curl https://api.github.com/rate_limit
Look for "remaining"
(requests left) and "reset"
(Unix timestamp when limit resets) in the output.
-
Wait for rate limit reset (shown in error message)
-
Reduce check frequency temporarily
Connection Timeouts¶
Error: Connection timeout
or Network error
Solutions:
- Increase global timeout:
- Check network connectivity:
- Configure proxy if needed:
- Check with debug mode for more details:
SSL Certificate Issues¶
Error: SSL certificate verification failed
Solutions:
- Update certificates:
# Ubuntu/Debian
sudo apt update && sudo apt install ca-certificates
# CentOS/RHEL
sudo yum update ca-certificates
- Check system time:
- Verify GitHub connectivity:
Pattern Matching Issues¶
No Assets Match Pattern¶
Error: No assets match pattern: your-pattern
Common Causes:
- Pattern doesn't match any assets in the latest release
- Assets exist in older releases but not the most recent one
- Nightly builds or continuous releases aren't the latest by date
Solutions:
- Check multiple releases (AppImage Updater now searches up to 20 releases automatically):
# View recent releases and their assets
curl -s https://api.github.com/repos/USER/REPO/releases?per_page=5 | \
jq '.[] | {tag_name, assets: [.assets[].name]}'
- Test pattern with debug output:
- For nightly builds, ensure you're using
--prerelease
:
appimage-updater add --prerelease --pattern ".*nightly.*\.AppImage$" \
MyApp https://github.com/user/app ~/Apps/MyApp
- Use custom pattern:
# For specific OS/architecture
appimage-updater add --pattern "(?i).*linux.*x86_64.*\.AppImage$" \
MyApp https://github.com/user/app ~/Apps/MyApp
# For ZIP files
appimage-updater add --pattern "(?i).*linux.*\.zip$" \
MyApp https://github.com/user/app ~/Apps/MyApp
- Common pattern examples:
# Case-insensitive AppImage
--pattern "(?i).*\.AppImage$"
# Specific architecture
--pattern "(?i).*x86_64.*\.AppImage$"
# Exclude specific terms
--pattern "(?i)(?!.*debug).*\.AppImage$"
# Multiple formats
--pattern "(?i).*(\.AppImage|\.zip)$"
Multiple Assets Matched¶
Error: Multiple assets matched pattern
with interactive selection
Solutions:
- Use non-interactive mode:
- Refine pattern to be more specific:
# Too broad
--pattern "(?i).*\.AppImage$"
# More specific
--pattern "(?i)MyApp.*linux.*x86_64.*\.AppImage$"
- Check what's being matched:
Download Issues¶
Download Directory Issues¶
Error: Download directory does not exist
or Permission denied
Solutions:
- Create manually with correct permissions:
- Check parent directory permissions:
Checksum Verification Failed¶
Error: Checksum verification failed
Solutions:
- Check if checksums are available:
curl -s https://api.github.com/repos/USER/REPO/releases/latest | jq '.assets[] | select(.name | contains("SHA256"))'
- Disable checksum verification (not recommended):
- Use different checksum algorithm:
- Manual verification:
Disk Space Issues¶
Error: No space left on device
Solutions:
- Check available space:
- Clean old files (if rotation enabled):
- Move to different location:
File Rotation Issues¶
Symlink Problems¶
Error: Failed to create symlink
or symlink points to wrong file
Solutions:
- Check symlink status:
- Remove broken symlink:
- Verify symlink path:
- Update symlink path:
Old Files Not Cleaned¶
Issue: Too many old versions accumulating
Solutions:
- Check retention setting:
- Adjust retention count:
- Manual cleanup:
# List files by date
ls -lt ~/Apps/MyApp/
# Remove old files manually (keep newest)
rm ~/Apps/MyApp/old_version.AppImage
rm ~/Apps/MyApp/old_version.AppImage.info
Version Detection Issues¶
Incorrect Version Comparison¶
Issue: Updates not detected or wrong version shown
Solutions:
- Check metadata files:
- Create missing metadata:
- Force update check:
- Check GitHub release tags:
Performance Issues¶
Slow Update Checks¶
Issue: Update checks take too long
Solutions:
- Use parallel checking (if multiple apps):
- Reduce global timeout for faster failure:
- Check specific apps only:
- Monitor rate limits:
Reporting Issues¶
Enable Debug Mode¶
Always use debug mode when reporting issues:
Collect System Information¶
# System info
uname -a
python --version
pip show appimage-updater
# Configuration
appimage-updater list
appimage-updater config show
cat ~/.config/appimage-updater/config.json # Global config
ls -la ~/.config/appimage-updater/apps/ # Application configs
# Network connectivity
curl -I https://api.github.com
Report Issues¶
When reporting bugs, include:
- Debug output (with sensitive info removed)
- System information (OS, Python version)
- Configuration (sanitized)
- Steps to reproduce
- Expected vs actual behavior
Community Resources¶
Prevention Tips¶
Regular Maintenance¶
# Weekly health check
appimage-updater --debug check --dry-run
# Monthly configuration review
appimage-updater list
Best Practices¶
- Use GitHub authentication to avoid rate limits
- Enable checksum verification for security
- Set reasonable timeouts for your network
- Monitor disk space in download directories
- Keep configuration backed up
- Test with dry-run before making changes