Skip to content

Certbot Version Check: Commands & Usage

Use certbot —version for basic checks, snap list certbot for snap installations, and version comparison scripts to ensure minimum 4.1.0 for ARI support. This reference lists the exact commands to audit Certbot versions across install methods and enforce compatibility in production.

TL;DR: Use certbot --version for basic checks, snap list certbot for snap installations, and version comparison scripts to ensure minimum 4.1.0 for ARI support—always test updates in staging before production deployment.

Need help with ACME? Ask Axel Axelspire AI bot with own augmented memory for all ACME/certbot.

Certbot version checking commands provide the foundation for maintaining certificate automation infrastructure. This comprehensive command reference covers version verification across different installation methods, compatibility validation, and troubleshooting procedures. Operations teams execute these commands to audit installations, detect outdated versions, and ensure compliance with ACME protocol requirements.

Production environments use multiple verification methods depending on installation sources. Snap installations require different commands than pip-based deployments. System package managers provide additional verification paths for legacy installations. Understanding command variations enables consistent version auditing across diverse infrastructure configurations.

Enterprise deployments implement automated version monitoring scripts that detect installations below minimum thresholds. Configuration management integration ensures version policies are enforced consistently. Container environments verify versions during image builds to prevent deployment of incompatible Certbot releases.

The most common command to check your Certbot installation:

Terminal window
certbot --version

This command displays the currently installed Certbot version and is essential for troubleshooting compatibility issues, determining feature availability, and ensuring you’re running a supported version.

For systems where standard execution fails or requires elevated privileges:

Terminal window
# Check with sudo privileges
sudo certbot --version
# Check by full path (snap installations - RECOMMENDED)
/snap/bin/certbot --version
# Check specific installation path
/usr/bin/certbot --version
/usr/local/bin/certbot --version
# Verbose version check with debug info
certbot -v

Note: The certbot-auto script was deprecated in late 2020 and is no longer supported. If you are still using certbot-auto, you should migrate to snap or pip installation immediately.

Use multiple commands to handle different installation scenarios:

Terminal window
# Try snap first, then system package
/snap/bin/certbot --version || /usr/bin/certbot --version
# Check command location first
command -v certbot && certbot --version

Check installed packages and their versions:

Terminal window
# Check snap installation (RECOMMENDED)
snap list certbot
# Check all Certbot-related packages (legacy)
dpkg-query -l | grep certbot
# Verify pip installations
pip3 freeze | grep certbot
# Check system package version (often outdated)
apt list --installed | grep certbot

Important: Since late 2020, Certbot stopped updating the apt package version for Ubuntu. The snap package is now the recommended installation method and provides automatic updates.

Determine how Certbot was installed:

Terminal window
# Check command location
command -v certbot
# Verify installation method
which certbot
# For snap installations, this will show /snap/bin/certbot

The certbot-auto script was deprecated in late 2020 and is no longer supported.

If you encounter this error:

Skipping bootstrap because certbot-auto is deprecated on this system.
Your system is not supported by certbot-auto anymore.

You must migrate to a supported installation method:

  1. Remove certbot-auto:
Terminal window
# Remove cron jobs referencing certbot-auto
sudo sed -i '/certbot-auto/d' /etc/crontab
# Delete the certbot-auto script
sudo rm /usr/local/bin/certbot-auto
# Delete the old installation
sudo rm -rf /opt/eff.org
  1. Install via snap (recommended):
Terminal window
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

When certbot --version returns “command not found”:

  • Issue: Certbot not installed or not in PATH
  • Solutions:
    • Install Certbot via snap: sudo snap install --classic certbot
    • Check PATH environment variable
    • Create symlink: sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

Systems may have multiple Certbot versions causing conflicts:

Terminal window
# Check all possible locations
which -a certbot
find / -name "certbot*" -type f 2>/dev/null
# Remove conflicting apt installation before using snap
sudo apt-get remove certbot

Some installations require specific user permissions:

Terminal window
# Root user may have different version
sudo certbot --version
# Regular user version check
certbot --version
# Check as specific user
su - username -c "certbot --version"

ACMEv2 Requirement (Mandatory since June 1, 2021):

  • ACMEv1 was fully disabled on June 1, 2021
  • All Certbot versions must use ACMEv2 endpoints
  • Any version below 0.31.0 will fail to issue or renew certificates

Python Version Requirements:

  • Certbot 5.x requires Python 3.10 or higher
  • Python 3.9.2+ supported in older versions
  • Python 3.6-3.8 no longer supported

Feature-Specific Requirements:

  • ARI Support (ACME Renewal Information): Version 4.1.0+ (June 2025)
  • Preferred Chain Support: Version 1.6.0+
  • Modern Challenge Types: Version 0.28.0+
  • Enhanced Security: Version 1.0.0+

The following versions are critically outdated and must be upgraded immediately:

VersionIssue
Below 0.31.0Cannot use ACMEv2 (ACMEv1 disabled June 2021)
0.10.2 - 0.27.0Extremely outdated, missing critical features
0.28.0 - 0.30.xMissing ACMEv2 support
1.x.xFunctional but missing modern features
2.x.xShould be updated for security patches
3.x.xAcceptable but lacks ARI support
4.0.xUpdate for ARI support
  • Latest Stable: Version 5.2.2 (as of January 2026)
  • Minimum Recommended: Version 4.1.0+ (for ARI support)
  • Enterprise Minimum: Version 4.0.0+
  • Production Recommended: Latest available stable version via snap
Terminal window
# Modern installations should use snap or pip
certbot --version
# For Amazon Linux 2023+
sudo dnf install certbot
certbot --version

Note: Legacy certbot-auto installations on AWS are no longer supported. Migrate to pip or container-based installations.

Terminal window
# RHEL 8/9, CentOS Stream
sudo dnf install certbot
certbot --version
# Or via pip in virtual environment
pip3 install certbot

Certbot discontinued Windows support in February 2024.

For Windows environments, use alternative ACME clients:

  • win-acme: https://www.win-acme.com/
  • Posh-ACME: PowerShell-based client
  • Certbot via WSL2: Install Certbot in Windows Subsystem for Linux
Terminal window
# In WSL2 (Ubuntu)
sudo snap install --classic certbot
certbot --version

When version check fails with import errors:

Terminal window
# Common error patterns:
# ImportError: No module named cryptography
# ImportError: No module named requests_toolbelt.adapters.source
# AttributeError when library versions are incompatible

Solutions:

  • Reinstall Certbot using snap (recommended)
  • Update Python dependencies
  • Remove conflicting installations
  • Use virtual environment isolation for pip installations

Version checks may fail due to dependency conflicts:

  • Cryptography module issues: Use snap installation to avoid system library conflicts
  • OpenSSL compatibility: Ensure OpenSSL version compatibility
  • Python version conflicts: Certbot 5.x requires Python 3.10+

For snap installations:

Terminal window
# If snap service not running
sudo systemctl start snapd
# Refresh snap to latest version
sudo snap refresh certbot
# Check snap logs
snap logs certbot

Create scripts to monitor Certbot versions across infrastructure:

#!/bin/bash
# Version monitoring script - Updated for 2026
CURRENT_VERSION=$(certbot --version 2>/dev/null | grep -oP 'certbot \K[0-9.]+')
MINIMUM_VERSION="4.1.0" # Minimum for ARI support
if [[ -z "$CURRENT_VERSION" ]]; then
echo "CRITICAL: Certbot not installed"
exit 2
fi
if [[ $(printf '%s\n' "$MINIMUM_VERSION" "$CURRENT_VERSION" | sort -V | head -n1) != "$MINIMUM_VERSION" ]]; then
echo "WARNING: Certbot version $CURRENT_VERSION is below minimum $MINIMUM_VERSION"
exit 1
fi
echo "OK: Certbot version $CURRENT_VERSION meets requirements"

For Ansible, Puppet, Chef, or similar tools:

# Ansible example - Updated for snap installation
- name: Install Certbot via snap
community.general.snap:
name: certbot
classic: yes
state: present
- name: Check Certbot version
shell: certbot --version
register: certbot_version
changed_when: false
- name: Validate minimum version
fail:
msg: "Certbot version too old - found {{ certbot_version.stdout }}"
when: certbot_version.stdout | regex_search('certbot ([0-9.]+)', '\\1') | first is version('4.1.0', '<')

For Docker and Kubernetes deployments:

# Dockerfile using official Certbot image
FROM certbot/certbot:v5.2.2
# Version verification
RUN certbot --version && \
CERT_VERSION=$(certbot --version | grep -oP 'certbot \K[0-9.]+') && \
echo "Certbot version: $CERT_VERSION"

Upcoming Changes: Shorter Certificate Lifetimes

Section titled “Upcoming Changes: Shorter Certificate Lifetimes”

Important: Let’s Encrypt is reducing certificate lifetimes:

  • May 2026: Opt-in 45-day certificates available
  • February 2027: 64-day certificates, 10-day authorization reuse
  • February 2028: 45-day certificates, 7-hour authorization reuse

Certbot 4.1.0+ with ARI support automatically handles these changes. Ensure you’re running a current version to avoid renewal issues.

  1. Monthly Checks: Verify Certbot versions across all systems
  2. Security Updates: Monitor for security-related version updates
  3. Feature Requirements: Ensure versions support ARI for future certificate changes
  4. Compatibility Testing: Test new versions in staging environments
  1. Staged Rollouts: Update non-production systems first
  2. Backup Procedures: Backup certificates and configurations before upgrades
  3. Rollback Plans: Prepare rollback procedures for failed upgrades
  4. Documentation: Maintain version change logs and compatibility matrices
  1. Use Snap: Standardize on snap installations for automatic updates
  2. Version Monitoring: Implement alerts for outdated versions
  3. Update Policies: Establish clear policies for version updates
  4. Testing Procedures: Implement comprehensive testing for version changes