Skip to content

cadder.toml

Cadder reads cadder.toml beside its executables. The portable archive includes this file there.

[caddy]
real_command = "caddy-real"

Use real_command for one program name resolved through PATH. It is not a shell command and cannot include arguments. Use real_path when you want to select an absolute executable path directly:

[caddy]
real_path = 'C:\Program Files\Caddy\caddy.exe'

Set exactly one of real_command or real_path.

Cadder rejects command arguments, relative paths, Windows batch scripts, final symbolic-link substitutions, and its own shim. It does not require custom ACL hardening for a normal Caddy installation.

Cadder uses this order:

  1. An absolute --real-caddy value supplied when the daemon starts.
  2. [caddy] in cadder.toml beside the Cadder executables.
  3. [caddy] in the standard per-user configuration.
  4. The same configuration in the administrator-owned system file.
  5. A native caddy executable on PATH that is not Cadder’s shim.

Project directories, project cadder.toml files, environment variables, and shim flags never select an executable. A malformed higher-priority configuration fails instead of silently falling through to another source.

The standard per-user and system configuration locations remain available. Administrators place the system file in %ProgramData%\Cadder\cadder.toml on Windows, /etc/cadder/cadder.toml on Linux, or /Library/Application Support/Cadder/cadder.toml on macOS.

See Real Caddy resolution for path validation and shim-recursion behavior.