# What is the appropriate workflow for running Jupyter Notebookes in VSCode with IJulia

**URL:** <https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806>\
**Category:** Jupyter-Notebook\
**Tags:** jupyter, vscode, ijulia\
**Created:** [July 17, 2025, 9:45am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806 "2025-07-17T09:45:17Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [July 17, 2025, 9:45am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/1 "2025-07-17T09:45:17Z")

</div>

So it is technically possible to run a Julia Jupyter notebook in VSCode without getting IJulia involved. However, this tends to get very buggy and I have been told that I should still get IJulia involved.

What is actually the exact workflow for doing this? I.e. I think I am supposed to create a kernel using IJulia in my console, and then connect to that through VSCode when I star the notebook. I am unsure how to do this.

I have tried to add IJulia to the environment, then run it in the VSCode console using

```julia
using IJulia

```

However, even if I then also run

```julia
notebook()

```

no specific kernel seems to show up when I start my notebook.

Also, do I need to add IJulia to the environment of the notebook, or can I set up the kernel anywhere?

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [July 17, 2025, 10:20am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/2 "2025-07-17T10:20:02Z")

</div>

There’s nothing to be done especially as far as I’m aware. I just have `IJulia` in my global environment, and then in VSCode I can do:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/1/f/1f63dbfb5a3d4c00e7eb19e7415de089657c1c90.png)

(top right corner) and then

 ![image](https://global.discourse-cdn.com/julialang/original/3X/0/8/081fee8768cb9b4d962969d4b3138d5a79bd42b6.png)

Clicking on “Jupyter Kernels” gives:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/3/8/3809ebdf97b4db589ec9687a53287210416f66d2.png)

which are my IJulia kernels, and they just work ™

---

<div class="post-metadata">

**Author:** ![benz0li](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/benz0li/32/37040_2.png) [@benz0li](https://discourse.julialang.org/u/benz0li)\
**Post date:** [July 17, 2025, 10:29am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/3 "2025-07-17T10:29:06Z")

</div>

There is also [JupyterLab + code-server + Julia](https://discourse.julialang.org/t/jupyterlab-code-server-julia/82808).

You may test it at [https://demo.jupyter.b-data.ch/](https://demo.jupyter.b-data.ch/).  
→ Resources are limited to 2 cores and 8 GB RAM.

Based on

1. [Containerised Jupyter deployment](https://github.com/b-data/docker-deployment-jupyter)
2. [JupyterLab Julia docker images](https://github.com/b-data/jupyterlab-julia-docker-stack)

 ![screenshot](https://global.discourse-cdn.com/julialang/original/3X/3/3/3324b5a6c2478464378c0b9ca639b66cb608fff6.png)

---

<div class="post-metadata">

**Author:** ![benz0li](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/benz0li/32/37040_2.png) [@benz0li](https://discourse.julialang.org/u/benz0li)\
**Post date:** [July 17, 2025, 10:32am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/4 "2025-07-17T10:32:38Z")

</div>

[code-server](https://github.com/coder/code-server) = [Code - OSS](https://github.com/microsoft/vscode) in the browser.

---

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [July 17, 2025, 11:19am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/5 "2025-07-17T11:19:48Z")

</div>

I tried just adding IJulia to my global environment, then running `using IJulia`, then closing Julia. However, when I then start VSCode and try to select a Kernel, nothing like that is available.

 ![image](https://global.discourse-cdn.com/julialang/original/3X/2/2/22ee89d650dcc2121a253ad22bf0952d099973cb.png)

---

<div class="post-metadata">

**Author:** ![drandran12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/drandran12/32/220647_2.png) [@drandran12](https://discourse.julialang.org/u/drandran12)\
**Post date:** [July 17, 2025, 4:35pm UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/6 "2025-07-17T16:35:55Z")

</div>

You need make a kernel first with `IJulia.installkernel`. Afterwards they are in the “jupyter kernel…” list. I recommend adding some threads to the kernel

---

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [July 17, 2025, 4:58pm UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/7 "2025-07-17T16:58:06Z")

</div>

I tried

```julia-repl
julia> using IJulia
julia> IJulia.installkernel("Julia Test Kernel")
[ Info: Installing 'Julia Test Kernel 1.11.5' kernelspec in /home/loman/.local/share/jupyter/kernels/julia-test-kernel-1.11
"/home/loman/.local/share/jupyter/kernels/julia-test-kernel-1.11"

```

In my console, before starting VSCode and trying to select a kernel. Unfortunatley, the new one does not show up ☹

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [July 18, 2025, 7:27am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/8 "2025-07-18T07:27:42Z")

</div>

I think your screenshot is from after you clicked on “Julia” already in the “Select kernel” menu?

In any event upon further reflection I think you do need the Jupyter extension for VSCode for this to work.

---

<div class="post-metadata">

**Author:** ![Torkel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/torkel/32/5030_2.png) [@Torkel](https://discourse.julialang.org/u/Torkel)\
**Post date:** [July 18, 2025, 8:53am UTC](https://discourse.julialang.org/t/what-is-the-appropriate-workflow-for-running-jupyter-notebookes-in-vscode-with-ijulia/130806/9 "2025-07-18T08:53:17Z")

</div>

Thanks a lot @nilshg, with this I got it all to work nicely!
