diff --git a/.changelog/11892.txt b/.changelog/11892.txt
new file mode 100644
index 000000000..5709c6569
--- /dev/null
+++ b/.changelog/11892.txt
@@ -0,0 +1,3 @@
+```release-note:bug
+ui: Ensure a login buttons appear for some error states, plus text amends
+```
diff --git a/ui/packages/consul-ui/app/components/error-state/README.mdx b/ui/packages/consul-ui/app/components/error-state/README.mdx
index 252b41937..2397d4dde 100644
--- a/ui/packages/consul-ui/app/components/error-state/README.mdx
+++ b/ui/packages/consul-ui/app/components/error-state/README.mdx
@@ -7,8 +7,11 @@ for more details.
Using this component for all of our errors means we can show a consistent
error page for generic errors.
-This component show slighltly different visuals and copy depending on the
-`status` of the error (the status is generally a HTTP error code)
+This component show slightly different visuals and copy depending on the
+`status` of the error (the status is generally a HTTP error code).
+
+Please note: The examples below use a `hash` for demonstration purposes, you'll
+probably just be using an `error` object in real-life.
## Arguments
@@ -17,12 +20,26 @@ This component show slighltly different visuals and copy depending on the
| `login` | `Function` | `undefined` | A login action to call when the login button is pressed (if not provided no login button will be shown |
| `error` | `Object` | `undefined` | 'Consul UI error shaped' JSON `{status: String, message: String, detail: String}` |
+Specifically 403 errors **always** use the same header/body copy, this is hardcoded in and not currently overridable.
+
```hbs preview-template
- {{error.detail}}
-
+
+ {{#if @error.detail}}
+ {{@error.detail}}
+ {{else}}
You may have visited a URL that is loading an unknown resource, so you can try going back to the root or try re-submitting your ACL Token/SecretID by going back to ACLs.
- {{or @error.message "Consul returned an error"}}
+
+ {{or @error.message "Consul returned an error"}}
+
Error {{@error.status}}
+
+ Error {{@error.status}}
+
@@ -49,10 +69,20 @@
There don't seem to be any registered nodes, or you may not have access to view nodes yet.
diff --git a/ui/packages/consul-ui/app/templates/dc/services/index.hbs b/ui/packages/consul-ui/app/templates/dc/services/index.hbs
index 27342bf3c..3d6e04933 100644
--- a/ui/packages/consul-ui/app/templates/dc/services/index.hbs
+++ b/ui/packages/consul-ui/app/templates/dc/services/index.hbs
@@ -105,7 +105,7 @@ as |sort filters items partition nspace|}}
>
- {{#if (gt services.length 0)}}
+ {{#if (gt items.length 0)}}
No services where found matching that search, or you may not have access to view the services you are searching for.
{{else}}
There don't seem to be any registered services, or you may not have access to view services yet.
diff --git a/ui/packages/consul-ui/app/templates/dc/services/show/intentions/index.hbs b/ui/packages/consul-ui/app/templates/dc/services/show/intentions/index.hbs
index 87d2f9649..003d915f6 100644
--- a/ui/packages/consul-ui/app/templates/dc/services/show/intentions/index.hbs
+++ b/ui/packages/consul-ui/app/templates/dc/services/show/intentions/index.hbs
@@ -89,7 +89,9 @@ as |route|>
- {{#if (gt services.length 0)}}
+ {{#if (gt items.length 0)}}
No services found
{{else}}
Welcome to Services
@@ -114,7 +114,7 @@ as |sort filters items partition nspace|}}
{{#if (gt items.length 0)}}