# How to customize a launcher using jupyter app launcher?

**URL:** <https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248>\
**Category:** extensions\
**Tags:** jupyterlab, help-wanted\
**Created:** [January 5, 2024, 5:57am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248 "2024-01-05T05:57:24Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![johnysh](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/johnysh/32/12047_2.png) [@johnysh](https://discourse.jupyter.org/u/johnysh)\
**Post date:** [January 5, 2024, 5:57am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/1 "2024-01-05T05:57:24Z")

</div>

Now I want to customize a jupyter app luancher([GitHub - trungleduc/jupyter\_app\_launcher: A JupyterLab extension to create custom launcher entries.](https://github.com/trungleduc/jupyter_app_launcher)), but I didn’t know how to build it and launcher my specific launcher , because there doesn’t have any detail documents. Who can help me ?

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [January 5, 2024, 12:58pm UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/2 "2024-01-05T12:58:09Z")

</div>

How wouly you like to customise the launcher specifically?

---

<div class="post-metadata">

**Author:** ![johnysh](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/johnysh/32/12047_2.png) [@johnysh](https://discourse.jupyter.org/u/johnysh)\
**Post date:** [January 10, 2024, 5:44am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/3 "2024-01-10T05:44:30Z")

</div>

I want to customize the launcher and add some url or llm module , user can access these with jupyterlab launcher. I follow the steps to do , but it failed and only showed default launcher.

1. git clone [GitHub - trungleduc/jupyter\_app\_launcher: A JupyterLab extension to create custom launcher entries.](https://github.com/trungleduc/jupyter_app_launcher.git)
2. cd jupyter\_app\_launcher  
3 conda create -n jlab python=3.8
3. conda activate jlab
4. pip install jupyterlab=3.6.3
5. pip install jupyter-packaging
6. pip install nodejs=18
7. pip install -ve .
8. jupyter labextension develop . –overwrite
9. npm run build
10. npm run watch
11. open another terminal， run “jupyter lab”

---

<div class="post-metadata">

**Author:** ![johnysh](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/johnysh/32/12047_2.png) [@johnysh](https://discourse.jupyter.org/u/johnysh)\
**Post date:** [January 16, 2024, 3:04am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/4 "2024-01-16T03:04:47Z")

</div>

![Screenshot from 2024-01-16 08-26-48](https://canada1.discourse-cdn.com/flex031/uploads/jupyter/original/2X/e/ee18fa8dd55f502634180a5de20a542c4ffa0207.png)  
@trungleduc @krassowski hello , I ran "npm run build " and "jupyter lab build " all succeed , but why is the customized content still not displayed correctly as this demo shows ([GitHub - trungleduc/jupyter\_app\_launcher: A JupyterLab extension to create custom launcher entries.](https://github.com/trungleduc/jupyter_app_launcher?tab=readme-ov-file) ), if feel convience , pls help me check ,thx.

---

<div class="post-metadata">

**Author:** ![johnysh](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/johnysh/32/12047_2.png) [@johnysh](https://discourse.jupyter.org/u/johnysh)\
**Post date:** [January 16, 2024, 3:36am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/5 "2024-01-16T03:36:22Z")

</div>

![Screenshot from 2024-01-16 11-32-00](https://canada1.discourse-cdn.com/flex031/uploads/jupyter/original/2X/9/9355022217e065536a367ea4a94446805e61563c.png)

list shows it is enabled ok.

---

<div class="post-metadata">

**Author:** ![johnysh](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/johnysh/32/12047_2.png) [@johnysh](https://discourse.jupyter.org/u/johnysh)\
**Post date:** [January 16, 2024, 3:37am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/6 "2024-01-16T03:37:02Z")

</div>

![Screenshot from 2024-01-16 11-32-26](https://canada1.discourse-cdn.com/flex031/uploads/jupyter/original/2X/c/c8ebed6af18a604c1f982f2fa68341f0108d23cb.png)

---

<div class="post-metadata">

**Author:** ![trungleduc](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/trungleduc/32/12753_2.png) [@trungleduc](https://discourse.jupyter.org/u/trungleduc)\
**Post date:** [January 16, 2024, 6:10am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/7 "2024-01-16T06:10:00Z")

</div>

You don’t need to rebuild the extension, installing it from pip or conda is enough. The configuration is detailed at [JupyterLab App Launcher Documentation — JupyterLab App Launcher](https://jupyter-app-launcher.readthedocs.io/en/latest/)

---

<div class="post-metadata">

**Author:** ![johnysh](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/johnysh/32/12047_2.png) [@johnysh](https://discourse.jupyter.org/u/johnysh)\
**Post date:** [January 16, 2024, 7:08am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/8 "2024-01-16T07:08:59Z")

</div>

@trungleduc Glad to recieve this reply, thanks. I already tried this and create a path named jupyter\_app\_launcher under the directory of jupyter data path, then created a jp\_app\_launcher\_my\_extension.yaml , customized my conten into this yaml file and it displays ok. But what confuses me is why neither compilation nor direct installation can display the samples contained in code.([jupyter\_app\_launcher/samples at v0.1.7 · trungleduc/jupyter\_app\_launcher · GitHub](https://github.com/trungleduc/jupyter_app_launcher/tree/v0.1.7/samples)). In the installation or compilation progress , does it copy this yaml file to data path?

---

<div class="post-metadata">

**Author:** ![trungleduc](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/trungleduc/32/12753_2.png) [@trungleduc](https://discourse.jupyter.org/u/trungleduc)\
**Post date:** [January 16, 2024, 7:37am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/9 "2024-01-16T07:37:12Z")

</div>

No it does not. You need to create the config yourself

---

<div class="post-metadata">

**Author:** ![johnysh](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/johnysh/32/12047_2.png) [@johnysh](https://discourse.jupyter.org/u/johnysh)\
**Post date:** [January 17, 2024, 9:38am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/10 "2024-01-17T09:38:33Z")

</div>

@trungleduc Does there have any methods to remove the default jupyter launcher content of main area , only retain customized content？

---

<div class="post-metadata">

**Author:** ![erkin98](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/erkin98/32/5263_2.png) [@erkin98](https://discourse.jupyter.org/u/erkin98)\
**Post date:** [January 18, 2024, 10:07am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/11 "2024-01-18T10:07:04Z")

</div>

possible, but tricky

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [February 15, 2024, 2:04pm UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/12 "2024-02-15T14:04:13Z")

</div>

What do you think about adding functionality similar to `jupyter-app-launcher` into JupyterLab core say for 4.2. or 4.3? It seems like customization of the laucher seems like a common use case. In lab we could have a just a list of settings for it.

---

<div class="post-metadata">

**Author:** ![trungleduc](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/trungleduc/32/12753_2.png) [@trungleduc](https://discourse.jupyter.org/u/trungleduc)\
**Post date:** [February 20, 2024, 3:51am UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/13 "2024-02-20T03:51:57Z")

</div>

it would be great! I think a stripped-down version of this extension can go to the core, which allows users to create launcher icons to execute JupyterLab commands.

---

<div class="post-metadata">

**Author:** ![jarathomas](https://avatars.discourse-cdn.com/v4/letter/j/9d8465/32.png) [@jarathomas](https://discourse.jupyter.org/u/jarathomas)\
**Post date:** [May 20, 2025, 7:56pm UTC](https://discourse.jupyter.org/t/how-to-customize-a-launcher-using-jupyter-app-launcher/23248/14 "2025-05-20T19:56:27Z")

</div>

Is it possible to launch a (Voila) notebook as a different user? We have a jupyter hub running on a server and we want a notebook to appear on the launcher, but when it is launched it has different permissions/privileges than the user who has logged in and is running the notebook. Hope this is making sense.
