Skip to content

AsrtBashExecutorOptions

Defined in: packages/tools/src/bash/asrt/executor.ts:24

optional allowedDomains?: string[]

Defined in: packages/tools/src/bash/asrt/executor.ts:47

Domains allowed for network access. Omit/empty (the default) means no network access.


optional allowEnv?: AllowEnv

Defined in: packages/tools/src/bash/asrt/executor.ts:57

Host environment variables to expose inside the sandbox. Omitted / [] → none. true → every string-valued host var. A list matches names (literal, glob, or RegExp). The supervisor process itself may still inherit the host env (it is trusted); only the sandboxed command’s env is filtered.


optional allowRead?: "**" | string[] | null

Defined in: packages/tools/src/bash/asrt/executor.ts:44

Confine reads to these paths. Omitted — escape-hatch default — confines reads to allowWrite (executors have no cwd). Providers fill omitted reads with [cwd] via mergePolicy before pooling. Pass UNBOUNDED_ALLOW_READ for host-wide reads (ASRT’s read-everywhere posture). null / [] mean no user read roots.

A bound list is enforced inside this wrapper (ASRT’s own model is deny-then-allow). That encoding — and the system / vendor carve-outs needed so commands can still execute — is not part of BashExecutor.describe. Caller denyRead is applied on top and is what describe() reports.


allowWrite: string[]

Defined in: packages/tools/src/bash/asrt/executor.ts:30

Paths writable inside the sandbox — e.g. the tool’s configured project root. Required, matching the no-unsandboxed-default rule: pass [] for a sandbox that can run commands but write nowhere, not an implicit “everything.”


optional deniedDomains?: string[]

Defined in: packages/tools/src/bash/asrt/executor.ts:48


optional denyRead?: string[]

Defined in: packages/tools/src/bash/asrt/executor.ts:32

Paths to deny read, on top of whatever ASRT denies by default (e.g. ~/.ssh).


optional denyWrite?: string[]

Defined in: packages/tools/src/bash/asrt/executor.ts:45


optional maxOutputBytes?: number

Defined in: packages/tools/src/bash/asrt/executor.ts:50

Bytes to keep from stdout/stderr each before truncating. Default 1,000,000 (1 MB).


optional tmpDir?: string

Defined in: packages/tools/src/bash/asrt/executor.ts:64

Directory ASRT sets as TMPDIR inside the sandbox (via CLAUDE_CODE_TMPDIR on the supervisor). Omitted → a fresh mkdtemp this executor owns and removes on dispose(). An explicit path is created if missing, must pass the ownership guard, and is never removed on dispose (caller owns lifecycle — safe to share across pool keys).