Environment
The variables Sirio sets in launched terminals and the ones that configure the socket.
| Variable | Set by | Meaning |
|---|---|---|
SIRIO_PANE_ID |
Sirio, in every terminal it starts | The id of the pane the shell runs in. notify and session-ref report for this pane when you leave out --session |
SIRIO_SOCKET |
You | Where Sirio listens and where sirioctl connects, in place of the default path below. Give both the same value, and set it before Sirio starts |
SIRIO_SOCKET_ENABLE |
You | 0, false, no or off turns the control socket off at startup, which also silences the agent hooks, since they report through sirioctl. 1, true, yes or on turns it on. Either way it overrides Settings → General → Control socket at startup |
SIRIO_WORKTREE_ID |
You | A worktree id or path for identify to report |
Test SIRIO_PANE_ID to learn whether a script runs in a Sirio terminal, because only terminals export it. panel state and panel scrollback accept its value, while panel split --from answers it with unknown pane, since it names a pane of the window and --from wants a panel of its own.
Where the socket lives
Without SIRIO_SOCKET, Sirio and sirioctl agree on one path per platform:
- macOS:
~/Library/Application Support/Sirio/control.sock - Linux:
$XDG_RUNTIME_DIR/Sirio/control.sock, orSirio/control.sockunder$XDG_STATE_HOME(by default~/.local/state) when there is no runtime directory - Windows:
%LOCALAPPDATA%\Sirio\control.sock, which Sirio maps to a named pipe
sirioctl --socket <path> points one command somewhere else, ahead of SIRIO_SOCKET and the default.
The environment terminals start in
Terminals, agents, git and links start in the environment you launched Sirio from, never in the AppImage’s own.
The Sirio skill
skills/sirio/SKILL.md, in the Sirio repository, teaches an agent to use sirioctl: check for SIRIO_PANE_ID, capture the ids that commands print and target them explicitly, close its panels with a trap, drive the browser and report its progress.
Settings → General → Agent Skill → Install Skill writes it for Claude Code, Codex, Pi, OpenCode and Oh-My-Pi, without npx. Claude Code reads it from ~/.claude/skills/sirio/SKILL.md, OpenCode from ~/.config/opencode/skills/sirio/SKILL.md, and Codex, Pi and Oh-My-Pi from ~/.agents/skills/sirio/SKILL.md. Sirio never replaces a skill file it did not write.
Sirio also writes a copy into a worktree, but only when it brings back a terminal saved with an agent in it, which older versions of Sirio could open from their menus. Claude Code reads that copy from .claude/skills/sirio/SKILL.md, and the other agents read it from .agents/skills/sirio/SKILL.md, a folder Sirio keeps out of git. Sirio keeps any file at either path that another tool wrote.