Certificate renewal error

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. https://crt.sh/?q=example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is: vusnet.co.bw

I ran this command:sudo certbot certonly -a manual -d vusnet.co.bw --preferred-challenges http

It produced this output:
certbot.errors.PluginError: An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively.2026-04-21 10:02:24,571:DEBUG:certbot._internal.plugins.selection:No candidate plugin
2026-04-21 10:02:24,571:ERROR:certbot._internal.renewal:Failed to renew certificate vusnet.co.bw with error: The manual plugin is not workin>The error was: PluginError('An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively>2026-04-21 10:02:24,585:DEBUG:certbot._internal.renewal:Traceback was:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/certbot/_internal/renewal.py", line 540, in handle_renewal_request
main.renew_cert(lineage_config, plugins, renewal_candidate)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/certbot/_internal/main.py", line 1525, in renew_cert
installer, auth = plug_sel.choose_configurator_plugins(config, plugins, "certonly")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/certbot/_internal/plugins/selection.py", line 256, in choose_configurator_plugins
diagnose_configurator_problem("authenticator", req_auth, plugins)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/certbot/_internal/plugins/selection.py", line 374, in diagnose_configurator_problem
raise errors.PluginSelectionError(msg)
certbot.errors.PluginSelectionError: The manual plugin is not working; there may be problems with your existing configuration.
The error was: PluginError('An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively>
2026-04-21 10:02:24,585:DEBUG:certbot._internal.display.obj:Notifying user:


2026-04-21 10:02:24,585:ERROR:certbot._internal.renewal:All renewals failed. The following certificates could not be renewed:
2026-04-21 10:02:24,585:ERROR:certbot._internal.renewal: /etc/letsencrypt/live/vusnet.co.bw/fullchain.pem (failure)
2026-04-21 10:02:24,585:DEBUG:certbot._internal.display.obj:Notifying user: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >2026-04-21 10:02:24,585:DEBUG:certbot._internal.log:Exiting abnormally

My web server is (include version):Apache Version 2.4.66

The operating system my web server runs on is (include version): linux

My hosting provider, if applicable, is: Tswana Domain

I can login to a root shell on my machine (yes or no, or I don't know):

I'm using a control panel to manage my site (no, or provide the name and version of the control panel):cpanel

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot):certbot 4.0.0

As the message notes, that is not the correct syntax for using a manual method.

And, you have an Apache server replying to HTTP and HTTPS requests so you would not normally use any "manual" method.

I can see from the public cert logs you got a cert in January that recently expired. You also say you are using cPanel. Did you also use Certbot to get that cert in Jan? If not, please explain how you got that cert.

sorry to reply late. i used certbot in January.

Do you run Certbot on the same system your Apache runs on?

Also, would you show output of this

sudo apachectl -t -D DUMP_VHOSTS

You may need to replace apachectl with apache2ctl or httpd depending on which Linux system you are using. You did not give the specific one and version.

No i use Windows Subsystem for Linux (WSL) and use ftp to transfer file to my domain.

and i dont have access to hosting server shell

Instead of running Certbot in WSL you might try using this instead. It is designed for cPanel cases like yours.

Otherwise, why did you choose Certbot on WSL? There are other ACME Clients that are designed for Windows and some offer a "stand-alone" option. Examples are Certify the Web, Posh-ACME, and simple-acme. But, I think CertSage is your best option as it may be able to automate your cert renewal.

Will try them,will update tommorrow.

I'm pretty sure simple-acme has an FTP option for http validation, so that may let you push the http challenge response file onto your server to complete the domain validation.

CertSage should take you seconds to acquire your certificate with no FTP or other complications required. I'm biased though as the author of CertSage. :slightly_smiling_face: