Mode Switching
Shannon has two modes — press Shift+Tab to toggle between them:
nu ↔ bash
Switching in Action
[nu] ~/project > ls | where size > 1mb
...
[nu] ~/project > <Shift+Tab>
[bash] ~/project > echo hello && echo world
hello
world
[bash] ~/project > <Shift+Tab>
[nu] ~/project >
The prompt updates immediately to show the active mode.
What Carries Over
When you switch modes, these are preserved:
- Environment variables —
export FOO=barin bash is visible as$env.FOOin nushell - Working directory —
cd /tmpin bash means you’re in/tmpwhen you switch to nushell
Environment variables are converted automatically between nushell’s typed
values and bash strings using ENV_CONVERSIONS.
What Doesn’t Carry Over
Shell-internal data stays within its mode:
- Nushell variables (
let x = 5) don’t exist in bash - Bash local variables and aliases don’t exist in nushell
- Only exported environment variables cross the boundary