Wrong status code for kirby errors

I have debug => false in production. And I have a (intended) error, so I see the grey kirby error page. But the status code is 200 OK.

Should that not be status 500?

I want to track errors with Uptime Kuma and right now that error is not detected

Hm, what exactly did you do? I just tested with an error in one of the html templates and am getting a 500 error.

ok strange.

with a ‘normal’ error like you wrote in a html template I get an 500 code

but when I have an error in a plugin I get a 200.

http -h http://localhost:5000/
HTTP/1.1 200 OK
Connection: close
Content-type: text/html; charset=UTF-8
Date: Fri, 13 Feb 2026 15:11:29 GMT
Host: localhost:5000
X-Powered-By: PHP/8.4.15

Interesting, at the same time the error is exposed on that error page, although it shouldn’t be with the debug option set to false. Which is probably also the reason for the error code.

I double checked:

That error only gets exposed when running the builtin php dev server. On production the error page is displayed without the php error and has the statuscode 500.

Thanks for checking.