# DrRacket Package Manager Question

**URL:** <https://racket.discourse.group/t/drracket-package-manager-question/4291>\
**Category:** Questions & Answers\
**Created:** [June 21, 2026, 3:27am UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291 "2026-06-21T03:27:36Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![ndykman](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/ndykman/32/2140_2.png) [@ndykman](https://racket.discourse.group/u/ndykman)\
**Post date:** [June 21, 2026, 3:27am UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/1 "2026-06-21T03:27:37Z")

</div>

On Windows 11 here. When I install or update package via the "Package Manager..." menu item, it opens up a console window that stays after the operation is done. If the window is closed, DrRacket closes.

Is this a known issue, or is there something weird going on in my environment. I tried this in a fresh VM with Racket 9.1, and it seems to be the same thing.

Of course, the workaround is using `raco`. I did a dive into the plugin, but I can't see where the console window is opened (my guess is a command is being forked somewhere and I/O needs to be redirected).

Just curious. I didn't want to report this as a bug until I got more context.

Nathan

---

<div class="post-metadata">

**Author:** ![bdeket](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bdeket/32/1835_2.png) [@bdeket](https://racket.discourse.group/u/bdeket)\
**Post date:** [June 21, 2026, 5:25am UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/2 "2026-06-21T05:25:44Z")

</div>

My expierience: whenever some internal process prints to the output-port in drracket a console window is launched that can't be closed until drracket closes. This has been this way for the last 10y.  
That drrackets package manager has this behaviour feels more recent, but I'm not sure wen it started.

---

<div class="post-metadata">

**Author:** ![robby](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/robby/32/7_2.png) [@robby](https://racket.discourse.group/u/robby)\
**Post date:** [June 21, 2026, 8:52am UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/3 "2026-06-21T08:52:06Z")

</div>

Ah, thanks for that hint, @bdeket ! @ndykman can you share the specific printouts that you see? Or is the window just blank?

---

<div class="post-metadata">

**Author:** ![joeld](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joeld/32/38_2.png) [@joeld](https://racket.discourse.group/u/joeld)\
**Post date:** [June 22, 2026, 2:07pm UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/4 "2026-06-22T14:07:22Z")

</div>

> [@bdeket](#):
>
> That drrackets package manager has this behaviour feels more recent, but I'm not sure wen it started.

I have a package or two that print to stdout as part of the [installation script](https://docs.racket-lang.org/raco/setup-info.html#%28idx._%28gentag._33._%28lib._scribblings%2Fraco%2Fraco..scrbl%29%29%29) provided in my `info.rkt` that racket runs during `raco pkg install`. I haven’t tested to see if it can trigger this behavior in DrRacket by itself, but just thought I'd mention it — maybe the behavior started for you when you installed a particular package.

---

<div class="post-metadata">

**Author:** ![benknoble](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/benknoble/32/16_2.png) [@benknoble](https://racket.discourse.group/u/benknoble)\
**Post date:** [June 23, 2026, 1:12pm UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/5 "2026-06-23T13:12:43Z")

</div>

> Someone replied to a topic you are Watching.
> 
> > ![](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joeld/45/38_2.png "joeld") | [joeld](https://racket.discourse.group/u/joeld)  
> > June 22 |
> > 
> > - | - |
> 
> > ![](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/bdeket/48/1835_2.png)bdeket:
> > 
> > That drrackets package manager has this behaviour feels more recent, but I'm not sure wen it started.
> 
> I have a package or two that print to stdout as part of the [installation script](https://docs.racket-lang.org/raco/setup-info.html#%28idx._%28gentag._33._%28lib._scribblings%2Fraco%2Fraco..scrbl%29%29%29) provided in my `info.rkt` that racket runs during `raco pkg install`. I haven’t tested to see if it can trigger this behavior in DrRacket by itself, but just thought I'd mention it — maybe the behavior started for you when you installed a particular package.

The scribble-math package also produces output when building its docs, I think, which always seems to create hiccups in the nice progress bar/thread status HUD (this in a regular terminal, but presumably could also be part of the "DrRacket shows some output during package management").

---

<div class="post-metadata">

**Author:** ![ndykman](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/ndykman/32/2140_2.png) [@ndykman](https://racket.discourse.group/u/ndykman)\
**Post date:** [June 23, 2026, 11:41pm UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/6 "2026-06-23T23:41:05Z")

</div>

> [@robby](#):
>
> Ah, thanks for that hint, @bdeket ! @ndykman can you share the specific printouts that you see? Or is the window just blank?

The window is just blank. Here's my diagnosis (@mflatt can correct me if I am wrong here).

Basically, package manager forks a child process to run raco, redirecting stdio as needed to capture output in the window (and send commands). As part of this, eventually `CreateProcess` is called. In this code, there is a check if none of the `fd` parameters are system terminal `fds`. If that is the case, the child process window will not be opened. All other cases, a flag is set to open the child process window.

In this case, because some of those `fds` the child process are the ends of a pipe, the child process window will be shown. But this window is the console from the parent because the flag to create a new console has not be set when `CreateProcess` is called and `raco` is a console process.

So, the hidden console is shown. Since it is associated with the `DrRacket` process (and how it is set up), if it is killed, DrRacket dies, and if DrRacket is closed, the console still needs to be closed.

If I am right (and that's a if, believe me), the best fix seems to be providing an additional flag to the `rktio_process` flags that suppresses the child window from being opened and exposes that flag to the higher level APIs. The flag could be ignored on anything but Windows. And then the `package-manager` can set this flag when forking `raco`.

Nathan

---

<div class="post-metadata">

**Author:** ![robby](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/robby/32/7_2.png) [@robby](https://racket.discourse.group/u/robby)\
**Post date:** [June 24, 2026, 2:51pm UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/7 "2026-06-24T14:51:15Z")

</div>

> [@benknoble](#):
>
> The scribble-math package also produces output when building its docs, I think,

oh! Thank you very much for identifying that. It has been bothering me for a long time and I didn't know where it was coming from. I've [opened a pull request](https://codeberg.org/spdegabrielle/scribble-math/pulls/2) to disable it.

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [June 24, 2026, 3:07pm UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/8 "2026-06-24T15:07:33Z")

</div>

TYVM @robby  
PR has been merged [#2 - remove printing of the directory and hash - spdegabrielle/scribble-math - Codeberg.org](https://codeberg.org/spdegabrielle/scribble-math/pulls/2)

---

<div class="post-metadata">

**Author:** ![mflatt](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/mflatt/32/6_2.png) [@mflatt](https://racket.discourse.group/u/mflatt)\
**Post date:** [June 24, 2026, 10:38pm UTC](https://racket.discourse.group/t/drracket-package-manager-question/4291/9 "2026-06-24T22:38:15Z")

</div>

There was a general problem related to the progress bar that is shown when `raco setup` is run in a terminal. The check for whether to use the progress bar forced a console window on Windows. (There are no subprocesses involved, but it's the same basic idea as @ndykman's explanation.)

I've pushed a repair for future versions.
