Summary
When a user’s login shell is Nushell (nu), repository validation/add flows can fail with not a git repository even for valid git repos.
User-visible problems
- Supacode reports
not a git repository for valid repositories.
- Repository add/open flow is blocked for users whose shell is
nu.
- Error message is misleading, making diagnosis difficult.
Reproduction
- Set login shell or
SHELL env to Nushell (example: /run/current-system/sw/bin/nu).
- Launch Supacode.
- Try to add/open a valid git repository.
- Observe failure with
not a git repository.
Expected
- Adding/opening a valid repo should succeed regardless of whether the user’s shell is
bash, zsh, fish, nu, etc.
- If a shell is unsupported for login command execution, Supacode should fall back to a supported shell path and continue.
Actual
- Supacode picks the shell from
SHELL/passwd directly.
- Login command execution uses a POSIX-style invocation (
-l -c plus POSIX command snippets).
- With
nu, this invocation is incompatible, command execution fails, and repo detection surfaces as not a git repository.
Suspected root cause
Shell selection and login command construction assume POSIX shells, but SHELL may point to a non-POSIX shell (Nushell).
Notes
This is currently reproducible on setups that default to Nushell (commonly Nix/NixOS environments).
Summary
When a user’s login shell is Nushell (
nu), repository validation/add flows can fail withnot a git repositoryeven for valid git repos.User-visible problems
not a git repositoryfor valid repositories.nu.Reproduction
SHELLenv to Nushell (example:/run/current-system/sw/bin/nu).not a git repository.Expected
bash,zsh,fish,nu, etc.Actual
SHELL/passwd directly.-l -cplus POSIX command snippets).nu, this invocation is incompatible, command execution fails, and repo detection surfaces asnot a git repository.Suspected root cause
Shell selection and login command construction assume POSIX shells, but
SHELLmay point to a non-POSIX shell (Nushell).Notes
This is currently reproducible on setups that default to Nushell (commonly Nix/NixOS environments).