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, or Sirio/control.sock under $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.