NAVIGATION
ELOWEN DOCUMENTATION Reference on GitHub ↗

Last updated: 24 September 2026

Plugin reference

Terminal & Processes

Open Settings → Plugins → Installed to inspect the bundled terminal plugin; admins grant access to non-admins from Users → Granted plugins. In chat, Elowen can use four tools to run commands and manage processes, and the chat rail shows a Processes section.

Tools and process controls

ToolWhat it does
BashRuns a shell command and returns combined output and its exit code.
ListProcessesLists background processes started in this conversation.
ProcessOutputReads output from a background process or waits for it to finish.
KillProcessStops one of this conversation's background processes immediately.

Grant access to a user

The plugin is grantable. To let a non-administrator use it:

  1. Open Users and select the account.
  2. Under Granted plugins, choose Manage.
  3. Select terminal and save.

Administrators always have access. The grant makes the plugin available, but account tool permissions can still restrict individual tools. Bash does not ask for confirmation before running commands. See Users & Access.

Where commands run

Elowen resolves command access through the Sandbox plugin for each launch. In a Project conversation, commands follow that Project's access policy and start in the Project root; inside a managed Project environment, they run in that environment. A conversation pointed to another directory, such as a Git worktree, runs there. The current working directory carries over between successful foreground calls, while an explicit cwd applies to one call. Shell variables and functions do not carry over between calls.

If Sandbox is unavailable, managed-project execution is refused. Only an instance administrator can use explicit direct-host mode. A blocking restart of Elowen's own daemon and a request to bypass Sandbox are refused.

In the CLI, /cd changes the working directory for the conversation. A cwd argument overrides it for one command.

Foreground commands

A foreground Bash call waits up to its timeout, measured in milliseconds. The default is 120,000 ms and the minimum is 1 ms. The usual maximum is 600,000 ms; deployment settings can raise the default and maximum, but the maximum cannot be set below the default.

When the deadline is reached in a person's own interactive conversation, Elowen normally moves the command to the background and returns its process ID. It keeps running without another timeout, and you can get its output later. This is not done for a command approved at a permission prompt, when the background-process limit is full, or for shared-room, delegated, workflow, scheduled, or other sessionless work; those commands are stopped at the deadline. Press Ctrl+B to detach a running foreground command yourself. Its output remains available through the process tools. On a self-hosted installation, set BASH_DEFAULT_TIMEOUT_MS and BASH_MAX_TIMEOUT_MS to change the timeout values; both are in milliseconds.

A bare sleep of two seconds or longer is refused in the foreground. Start work with run_in_background: true and use ProcessOutput to wait for it.

Background processes

Set run_in_background: true to start a command in the background. Elowen returns a process ID and notifies you when it finishes. Use ListProcesses, ProcessOutput, or KillProcess to manage it. Set backgroundMode: "service" for a long-running server or watcher; the default background mode is job.

The Processes chat-rail section shows running processes and lets you inspect output or stop one. A daemon restart ends background processes and removes their process records, so a server or watcher must be started again after restart. A session and account can keep at most 16 background processes by default; the configured range is 1–64. When that limit is full, another process cannot start or detach until one exits and its output is collected, or it is stopped. Scheduled jobs and workers without a conversation cannot start or detach background processes.

ProcessOutput returns new output since the last read; set all: true for the retained output. It waits up to 30 seconds by default and 600 seconds at most. A timed-out read does not stop the process; set block: false to peek without waiting. Ctrl+B can also release a waiting read, leaving the process running for a later read. The output buffer retains only a rolling tail under the output limit, so older output can be lost and the result reports how much. Reading a finished process returns its remaining output and collects it, so its ID no longer works.

KillProcess immediately stops the process and its tracked descendants, without a clean shutdown or flush, and discards the output buffer. Use it only when that is acceptable; a build or migration may be left incomplete. An unknown ID does not stop any process.

Output and configuration

Inline output is limited to 60,000 bytes by default. For a long foreground result, Elowen keeps the beginning and end, reports how much was omitted, and saves captured output separately; use the returned path with Read to inspect it. Captured output is limited to 8 MB, and a partial capture reports how much was dropped. Background output keeps a rolling tail up to the same limit. The configured range is 10,000–500,000 bytes.

Configuration is instance-wide; there are no per-account settings. Enabling the plugin does not require capability consent, and changes to the Sandbox configuration affect the next command launch. The instance-wide settings are in the plugin detail view under Settings → Plugins:

SettingKeyDefaultRange
Output capoutputCap60,000 bytes10,000–500,000
Background processes per session and accountmaxBackgroundProcesses161–64

Only ListProcesses and ProcessOutput are read-only and safe in plan mode. Bash and KillProcess change system state. Direct-host background execution requires Linux.