Home / Projects / NiPlex-Harness / Tools / Shell tools / shell_exec

Pictures

shell_exec

Runs a bash command in a persistent session. Off unless the operator enables the shell.

Since 2 Sept 2026

The command is scanned. Hard blocks never run. Risky commands wait for a button. The shell keeps its folder and variables between calls. Output is redacted.

Tool name
shell_exec
Group
Shell
Risk
high
Needs approval
sometimes
Approval rule
Depends on SHELL_APPROVAL. Default risky: MEDIUM and HIGH need a button. HARD BLOCK commands never run.
Allowed in scheduled jobs
No
Default
off

Parameters

NameTypeRequiredDefaultMeaningLimits
commandstringYesThe shell command text.
sessionstringNomainName of a persistent shell session.
waitnumberNoSeconds to wait for output before returning.
cwdstringNoStarting folder, inside the shell workspace.
interactivebooleanNofalseKeep the process open so shell_send can type into it.

Returns

Output so far, and whether the command is still running.

Example (made up for this page)

Call
{
  "command": "demo"
}
Result
$ git status
On branch demo

Side effects

  • Runs as the bot's OS user
  • Can change files, use the network and start processes.

How it can fail

WhenWhat the agent sees
Shell is offA message that the shell is disabled by the operator
Hard blockHARD BLOCK with the reason
Needs approvalCommand Approval Required

Checked against the source at commit f4fd89f on 29 Oct 2026. Everything here is merged on the main branch; no release has been tagged yet. The source is private, so these pages are the public description.