Skip to content

Shell Setup

The easiest way to set up amoxide:

sh
am setup fish
sh
am setup zsh
powershell
am setup powershell
sh
am setup bash
sh
am setup brush

This detects your profile file, shows exactly what it will add, and asks for confirmation.

Manual Setup

Add the init line to your shell configuration:

fish
# ~/.config/fish/config.fish
am init fish | source
zsh
# ~/.zshrc
eval "$(am init zsh)"
powershell
# Add to your PowerShell profile (echo $PROFILE to find it)
(am init powershell) -join "`n" | Invoke-Expression
bash
# ~/.bashrc
eval "$(am init bash)"
bash
# ~/.brushrc
eval "$(am init brush)"

Bash / Brush load order

If you use starship, oh-my-bash, or bash-it, add the am init line after their initialization. This ensures amoxide's cd hook isn't overwritten.

What the Init Does

The am init command does two things:

  1. Loads aliases from your active profiles into the current shell
  2. Installs a cd hook that automatically loads/unloads project aliases (from .aliases files) when you change directories

Reinitialising Without Restarting

In the rare case that you have edited the config files directly (rather than using am or the TUI) and want the changes applied to your current shell session without opening a new terminal, use the -f / --force flag:

fish
am init -f fish | source
zsh
eval "$(am init -f zsh)"
powershell
(am init -f powershell) -join "`n" | Invoke-Expression
bash
eval "$(am init -f bash)"

This unloads all previously defined aliases first, then reloads everything fresh — the same result as opening a new shell, but without leaving your current session.

Verify Setup

Check that everything is configured correctly:

sh
am status

This verifies that the shell hook is installed and your profiles are loaded.