# Can't add Windows workers due to a missing sh shell

**URL:** <https://discourse.julialang.org/t/cant-add-windows-workers-due-to-a-missing-sh-shell/15055>\
**Category:** Julia at Scale\
**Created:** [September 17, 2018, 8:44am UTC](https://discourse.julialang.org/t/cant-add-windows-workers-due-to-a-missing-sh-shell/15055 "2018-09-17T08:44:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [September 17, 2018, 8:44am UTC](https://discourse.julialang.org/t/cant-add-windows-workers-due-to-a-missing-sh-shell/15055/1 "2018-09-17T08:44:07Z")

</div>

I am trying to add workers on a Windows 10 node from a Windows 10 master.  
Identical Julia 0.7.0 and passwordless login are set up correctly.

However `addprocs( [(remote_ip,6)] )` fails with the error message:  
‘sh’ is not recognized as an internal or external command

I would greatly appreciate any advice.

EDIT: Even if there is no solution, it would be a help to know this.

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [September 18, 2018, 12:17pm UTC](https://discourse.julialang.org/t/cant-add-windows-workers-due-to-a-missing-sh-shell/15055/2 "2018-09-18T12:17:04Z")

</div>

There is no immediate fix that I can think of. `addprocs` ends up calling [https://github.com/JuliaLang/julia/blob/1f1b1b8c4e27668efddcaceb59db9422bb274cfd/stdlib/Distributed/src/managers.jl#L148](https://github.com/JuliaLang/julia/blob/1f1b1b8c4e27668efddcaceb59db9422bb274cfd/stdlib/Distributed/src/managers.jl#L148) which assumes a Unix environment with `sh` being available. I don’t know if anyone ever tried this with Windows 10.

Can you `ssh` to that machine? What shell does that drop you in?

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [September 18, 2018, 12:29pm UTC](https://discourse.julialang.org/t/cant-add-windows-workers-due-to-a-missing-sh-shell/15055/3 "2018-09-18T12:29:23Z")

</div>

Thank you very much for your answer.

I can ssh from Windows 10 to Windows 10 without a password,  
arriving at the the default `cmd.exe` prompt.

Sounds like an untrodden path.  
Should I give it up for now?

---

<div class="post-metadata">

**Author:** ![vchuravy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vchuravy/32/8_2.png) [@vchuravy](https://discourse.julialang.org/u/vchuravy)\
**Post date:** [September 18, 2018, 12:37pm UTC](https://discourse.julialang.org/t/cant-add-windows-workers-due-to-a-missing-sh-shell/15055/4 "2018-09-18T12:37:05Z")

</div>

Is it `cmd` or powershell? If you are strongly interested in this you could probably implement your own ClusterManager for WindowsSSH and/or contribute to the existing one to fix the Unix only assumptions.

x-ref: [https://github.com/JuliaLang/julia/issues/29243](https://github.com/JuliaLang/julia/issues/29243)

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [September 18, 2018, 12:40pm UTC](https://discourse.julialang.org/t/cant-add-windows-workers-due-to-a-missing-sh-shell/15055/5 "2018-09-18T12:40:07Z")

</div>

It is the plain `cmd.exe`, not `powershell`.

Thank you very much for creating an issue for this,  
but unfortunately I am not qualified to solve it.
