Skip to main content
The caddy list-modules command lists all installed Caddy modules, with optional version and package information.

Usage

Description

Lists all Caddy modules that are compiled into the binary. This is useful for:
  • Checking what modules are available in your build
  • Verifying plugins are installed
  • Debugging module issues
  • Auditing third-party dependencies
  • Comparing different Caddy builds
Modules are organized into three categories:
  1. Standard modules - Shipped with official Caddy builds
  2. Non-standard modules - Third-party plugins
  3. Unknown modules - Modules where info couldn’t be determined

Flags

boolean
default:"false"
Print package paths for each module.Shows the Go module path and any replacements.
boolean
default:"false"
Print version information for each module.Shows the Go module version (e.g., v1.2.3).
boolean
default:"false"
Skip printing standard modules.Useful when you only want to see third-party plugins.
boolean
default:"false"
Output modules in JSON format.Useful for programmatic processing.

Examples

List all modules

Output:

List with versions

Output includes version numbers:

List with package paths

Output includes Go module paths:

List with both versions and packages

List only third-party plugins

Output:

JSON output

Output:

JSON output for third-party plugins only

Exit Codes

  • 0 - Success

Module Naming

Caddy modules follow a hierarchical naming convention:
  • caddy.* - Core Caddy modules
  • http.* - HTTP app modules
  • http.handlers.* - HTTP handlers
  • http.matchers.* - Request matchers
  • http.reverse_proxy.* - Reverse proxy sub-modules
  • tls.* - TLS app modules
  • tls.issuers.* - Certificate issuers

Module Types

Standard Modules

Modules that ship with official Caddy builds:
  • Core functionality (admin API, config loaders)
  • HTTP server and handlers
  • TLS/ACME support
  • Logging and metrics

Non-Standard Modules

Third-party plugins added via xcaddy or custom builds:
  • http.handlers.cache - HTTP cache
  • dns.providers.* - DNS providers for ACME
  • http.handlers.crowdsec - CrowdSec integration
  • Custom plugins

Programmatic Usage

Parse JSON output

Check if module exists

Compare two builds

Building with Custom Modules

To add modules to your Caddy build, use xcaddy:
Then verify they’re installed: