Environment variables
This page covers the environment your panes and agent blocks start with, and how to change it.
What a pane gets
Section titled “What a pane gets”Panes run your login shell ($SHELL -l; PowerShell on Windows), so your
profile runs as usual. Arugula adds these variables to every pane:
| Variable | What it is |
|---|---|
ARUGULA_PANE |
this pane’s id (3 for %3); arugula commands default to it |
ARUGULA_SOCK |
the daemon’s socket, so arugula in the pane talks to the right daemon |
TERM, COLORTERM |
xterm-256color and truecolor |
CLAUDE_CODE_SSE_PORT |
where Claude Code finds the daemon as its IDE (edits as diff cards) |
arugula is on the pane’s PATH. To run a different command in new panes,
install the daemon with arugulad install -- --shell "CMD ARGS"
(Daemon flags).
On Linux, from boot
Section titled “On Linux, from boot”If the daemon starts at boot (with loginctl enable-linger $USER), it starts
before your desktop session, so its own environment has no
WAYLAND_DISPLAY, DISPLAY or desktop SSH_AUTH_SOCK. Each new pane takes
the systemd user manager’s environment as it is at that moment, which your
desktop session fills in when you log in.
For variables every pane should have from boot (PATH additions, EDITOR),
put KEY=value lines in this file:
EDITOR=nvimPATH=/home/you/.cargo/bin:/usr/local/bin:/usr/bin:/binThe daemon flag --no-manager-env stops copying the systemd user
environment into new panes.
Blocks that run your tools
Section titled “Blocks that run your tools”Agent blocks, editor blocks and other blocks that run programs for you have
no shell of their own, so the daemon reads your shell’s environment once,
as VS Code does. It runs your login shell interactively when it starts, and
keeps the PATH and variables your rc files set, so node from mise or nvm
is found there just as in a pane. If your shell takes more than 10 seconds
or fails, those blocks get the daemon’s own environment, and the log says
why.
arugula shell-env # what blocks getarugula shell-env --refresh # read your shell again, after changing an rc fileSettings as environment variables
Section titled “Settings as environment variables”Most daemon flags can also be set with an environment variable
(ARUGULA_LISTEN, ARUGULA_STATE_DIR, ARUGULA_OWNER and so on);
arugulad --help lists which. A few CLI settings are environment variables
only: ARUGULA_VERBOSE=1 (say whether --host went direct or through
control’s relay), ARUGULA_MCP_TOKEN, and the ARUGULA_SSH* settings for
--ssh. ARUGULA_TELEMETRY=off (or DO_NOT_TRACK=1) keeps
usage and crash reports off and means nobody is asked.
Next steps
Section titled “Next steps”- Service and logs: the daemon’s flags and where it keeps state.
- Agents: what agent blocks need from your environment.