INTEGRATION

Shell integration

Leave your shell in elio's final directory when you quit.

CD ON EXIT

Recommended setup

Quit behavior

  • qQuit and move your shell to elio's final directory.
  • QQuit and keep the parent shell where it was.
  • Launch through the wrapper by typing elio normally.

SHELLS

Per-shell commands

elio shell install bash
elio shell uninstall bash

INSTALL SCOPE

Where integration is installed

bash ~/.bashrc
zsh $ZDOTDIR/.zshrc or~/.zshrc
fish $XDG_CONFIG_HOME/fish/conf.d/elio.fish or~/.config/fish/conf.d/elio.fish
Nushell $XDG_CONFIG_HOME/nushell/autoload/elio.nu or~/.config/nushell/autoload/elio.nu

Safety rules

  • For bash and zsh, elio only adds, updates, or removes its marked integration block.
  • Existing startup files are preserved, including symlinks used by dotfile managers.
  • Symlinked fish conf.d and Nushell autoload directories are preserved.
  • Fish and Nushell files are not overwritten unless they were previously managed by elio.
  • elio shell uninstall removes only integration installed by elio shell install.
  • If you pasted output from elio shell init, remove that snippet manually.

MANUAL SETUP

Custom wrappers

Print the wrapper snippet if you prefer to edit shell files yourself.

elio shell init bash

Use the cwd handoff file

elio --cwd-file /path/to/output-file [DIRECTORY] writes the final directory on normal quit. A wrapper can read it and cd there. Quitting with Q skips writing the file.