Skip to content

Shell

The program section controls which shell Attyx launches and how it starts.

[program]
shell = "/bin/zsh"
args = ["-l"]
working_directory = "~/Projects"
OptionTypeDefaultDescription
shellstring$SHELL or /bin/shShell program to run
argsstring[][]Extra arguments passed to the shell
working_directorystringInitial working directory

If shell is not set, Attyx uses the SHELL environment variable. If that’s also unset, it falls back to /bin/sh.

To start a login shell, pass -l in the args:

[program]
args = ["-l"]

Set the initial directory for new terminal sessions:

[program]
working_directory = "~/Projects"

When not set, Attyx inherits the working directory from its parent process (typically your home directory when launched from an app launcher).

You can run any program, not just a shell:

[program]
shell = "/usr/bin/htop"

The terminal will close when the program exits.

FlagDescription
--shell <path>Shell program
--cmd <command...>Override shell command
-d, --working-directory <path>Initial working directory

Attyx includes shell integration scripts for zsh, bash, fish, nushell, and sh. These enable features like working directory tracking (OSC 7) and PATH reporting for popups. Shell integration is automatic — no configuration needed.

Program settings require a restart — they are not hot-reloadable. Changing the shell or working directory only affects new terminals.