# Bug: UserField "Editable after signup" automatically forces "Show on signup"

**URL:** https://meta.discourse.org/t/bug-userfield-editable-after-signup-automatically-forces-show-on-signup/386949
**Category:** Bug
**Tags:** user-custom-fields
**Created:** [October 28, 2025, 3:33pm UTC](https://meta.discourse.org/t/bug-userfield-editable-after-signup-automatically-forces-show-on-signup/386949 "2025-10-28T15:33:22Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![copymonopoly](https://avatars.discourse-cdn.com/v4/letter/c/4491bb/32.png) [@copymonopoly](https://meta.discourse.org/u/copymonopoly)
#### Post date: [October 28, 2025, 3:33pm UTC](https://meta.discourse.org/t/bug-userfield-editable-after-signup-automatically-forces-show-on-signup/386949/1 "2025-10-28T15:33:22Z")

</div>

When creating a user field (UserField) in the admin panel, there is a sequence-dependent behavior:

1. Initial state:

2. Sequence A:

3. Sequence B:

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [October 28, 2025, 3:37pm UTC](https://meta.discourse.org/t/bug-userfield-editable-after-signup-automatically-forces-show-on-signup/386949/2 "2025-10-28T15:37:35Z")

</div>

I don’t think it’s a bug. It’s intended to work that way. But I agree it would be helpful if this was possible

> [@Option to include user field that is only editable by staff](https://meta.discourse.org/t/option-to-include-user-field-that-is-only-editable-by-staff/198099/14):
>
> But I think there is still a problem: you are forced to allow either editing or showing at signup.
> 
> [discourse/frontend/discourse/admin/components/admin-user-fields-form.gjs at d82dc69d1d4cbf7dd5ed449ae299908282637b3f · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/d82dc69d1d4cbf7dd5ed449ae299908282637b3f/frontend/discourse/admin/components/admin-user-fields-form.gjs#L64-L71)
> 
> ```plaintext
> @action
> setEditable(value, { set }) {
> set("editable", value);
> 
> if (value === false) {
> set("show_on_signup", true);
> }
> }
> 
> ```
> 
> It is possible to create a field with all options disabled because you don’t need to change the editable setting for that. But once you change it once, there is no way back to this configuration.
> 
> Based on the pull request [FEATURE: Allow hiding user fields on signup form by Drenmi · Pull Request #34672 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/34672) this was an intentional decision:
> 
> > Fields that are optional but not editable need to be on the signup form, or they can never be filled in
> 
> I wonder if the use case to have the field filled by staff was not taken into account

---

<div class="post-metadata">

### Author: ![copymonopoly](https://avatars.discourse-cdn.com/v4/letter/c/4491bb/32.png) [@copymonopoly](https://meta.discourse.org/u/copymonopoly)
#### Post date: [October 28, 2025, 3:44pm UTC](https://meta.discourse.org/t/bug-userfield-editable-after-signup-automatically-forces-show-on-signup/386949/3 "2025-10-28T15:44:43Z")

</div>

Just to clarify — the bug isn’t about these options being mutually exclusive.

The real issue is: originally, a field can have both “Editable after signup” and “Show on signup” unchecked. But once you check “Editable after signup” even once, the frontend enforces that at least one of these two options must be selected from then on.

This behavior is sequence-dependent.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [October 28, 2025, 3:49pm UTC](https://meta.discourse.org/t/bug-userfield-editable-after-signup-automatically-forces-show-on-signup/386949/4 "2025-10-28T15:49:44Z")

</div>

> Fields that are optional but not editable need to be on the signup form, or they can never be filled in

The goal of the current implementation was to prevent admins from creating a user field that is neither editable nor shown on sign up. So if something is a bug, then it’s that you can still create the field without these properties. I would prefer if instead of fixing that, the [@team](https://meta.discourse.org/groups/team) would consider the use case of staff-only user fields and fulfill that feature request. That’s why I posted in the feature topic.

---

<div class="post-metadata">

### Author: ![hugh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hugh/32/336717_2.png) [@hugh](https://meta.discourse.org/u/hugh)
#### Post date: [October 31, 2025, 5:02am UTC](https://meta.discourse.org/t/bug-userfield-editable-after-signup-automatically-forces-show-on-signup/386949/6 "2025-10-31T05:02:03Z")

</div>

@ted Could you have a look at this one please? IIRC you worked on this set of options recently.
