Run a command in the background
Use this when a build, test or other command will take longer than a normal chat turn. The command keeps running while you continue working, and you can return to its output later. The optional terminal plugin must be available to your account; an administrator's status alone does not grant it.
Run a command in the background
- Ask Elowen to run the command with
run_in_background: true, or in the CLI press Ctrl+B while an eligible foreground command is running. - Note the process ID Elowen returns. It also notifies you when the command finishes.
- Continue with another task, or check on the process when you need its output.
A long-running server or watcher can use backgroundMode: "service"; ordinary commands use the default job mode. In delegated work, a child job keeps that delegated call open, while a service does not.
Check or stop the command
- Use
ListProcessesto find processes started in this conversation. - Use
ProcessOutputwith the process ID to read new output; setall: truefor retained output. It waits by default, but a timed-out read does not stop the command. - Use
KillProcessonly when immediate termination and losing buffered output are acceptable. It stops tracked descendants too.
Finished output is collected when read, so its ID then expires. Output is a rolling buffer and older text may be lost. Background processes do not survive a daemon restart.
Common problems
If the process limit is full, another command cannot start in the background. Read completed output before starting more work: the next start cleans up exited records. A permission-approved command is not detached automatically; shared-room, scheduled and sessionless work also has different timeout behavior. A plain sleep lasting two seconds or more is refused in the foreground: start actual work in the background instead.
Related guides
See Terminal & Processes for limits and controls, and Projects, Environments & GitHub to choose where commands run.