# Tailoring spawn options and server configuration to certain users

**URL:** <https://discourse.jupyter.org/t/tailoring-spawn-options-and-server-configuration-to-certain-users/8449>\
**Category:** Zero to JupyterHub on Kubernetes\
**Tags:** how-to\
**Created:** [March 22, 2021, 10:04am UTC](https://discourse.jupyter.org/t/tailoring-spawn-options-and-server-configuration-to-certain-users/8449 "2021-03-22T10:04:07Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![consideRatio](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/consideratio/32/1033_2.png) [@consideRatio](https://discourse.jupyter.org/u/consideRatio)\
**Post date:** [October 31, 2021, 9:32am UTC](https://discourse.jupyter.org/t/tailoring-spawn-options-and-server-configuration-to-certain-users/8449/3 "2021-10-31T09:32:16Z")

</div>

> [@mlobo](#):
>
> Any reason why you didn’t use the custom pre-spawn hook for both solutions? Can’t see why wouldn’t use it for problem 1.

Problem 1 is about customizing the options presented to a user, and you can’t do that in the pre\_spawn\_hook. The pre\_spawn\_hook that is invoked after the user has been presented with options and made choices about presented server options.

The order of events of relevance are:

1. _A user is presented with server options_

2. _A user has opted to start a server with some chosen entry from the `options_form`._

To conclude:

- `options_form` is suited to customize what options to present based on the user
- `pre_spawn_hook` is suited to customize what final settings to configure based on the choices the user made in the presented `options_form`.

---

_[View the full topic](https://discourse.jupyter.org/t/tailoring-spawn-options-and-server-configuration-to-certain-users/8449)._
