diff --git a/.changelog/10914.txt b/.changelog/10914.txt
new file mode 100644
index 0000000000..67aadc4f3c
--- /dev/null
+++ b/.changelog/10914.txt
@@ -0,0 +1,3 @@
+```release-note:bug
+ui: hide create button for policies/roles/namespace if users token has no write permissions to those areas
+```
diff --git a/ui/packages/consul-ui/app/templates/dc/acls/policies/index.hbs b/ui/packages/consul-ui/app/templates/dc/acls/policies/index.hbs
index b5bf0657bd..8ccde2b753 100644
--- a/ui/packages/consul-ui/app/templates/dc/acls/policies/index.hbs
+++ b/ui/packages/consul-ui/app/templates/dc/acls/policies/index.hbs
@@ -69,7 +69,9 @@ as |route|>
+ {{#if (can "create policies")}}
Create
+ {{/if}}
{{#if (gt items.length 0) }}
diff --git a/ui/packages/consul-ui/app/templates/dc/acls/roles/index.hbs b/ui/packages/consul-ui/app/templates/dc/acls/roles/index.hbs
index e4f3f0dbdf..210ea0fa5c 100644
--- a/ui/packages/consul-ui/app/templates/dc/acls/roles/index.hbs
+++ b/ui/packages/consul-ui/app/templates/dc/acls/roles/index.hbs
@@ -63,7 +63,9 @@ as |route|>
+ {{#if (can "create roles")}}
Create
+ {{/if}}
{{#if (gt items.length 0) }}
diff --git a/ui/packages/consul-ui/app/templates/dc/nspaces/index.hbs b/ui/packages/consul-ui/app/templates/dc/nspaces/index.hbs
index e57a3b52fc..e5721fbb5a 100644
--- a/ui/packages/consul-ui/app/templates/dc/nspaces/index.hbs
+++ b/ui/packages/consul-ui/app/templates/dc/nspaces/index.hbs
@@ -55,7 +55,9 @@ as |route|>
+ {{#if (can "create nspaces")}}
Create
+ {{/if}}
{{#if (gt items.length 0)}}