Skip to content

GthDeepAgentParams

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/core/GthDeepAgent.ts:92

The subset of createDeepAgent params that are independent of the transport (the local runner vs. the ACP server). Both GthDeepAgent.init (which adds the console-bound tool-call-status middleware + a virtual FilesystemBackend + checkpointer and calls createDeepAgent) and the ACP entry (deepagents-acp startServer, which supplies its own ACP-proxying backend, checkpointer and tool-call reporting) consume these.

middleware here deliberately EXCLUDES the tool-call-status middleware: that one writes to stdout, which on the ACP path is the JSON-RPC channel and must stay clean. The runner path appends it in GthDeepAgent.init.

optional interruptOn?: Record<string, boolean | { allowedDecisions: ("edit" | "approve" | "reject")[]; argsSchema?: Record<string, any>; description?: string | ((args_0, args_1, args_2, …args) => string | Promise<string>); when?: (args_0, …args) => boolean | Promise<boolean>; }>

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/core/GthDeepAgent.ts:122

Per-tool human-in-the-loop configuration passed straight to createDeepAgent({ interruptOn }) (deepagents installs LangChain’s humanInTheLoopMiddleware for it). A matching tool call suspends the graph with a __interrupt__ (a HITLRequest) so a consumer can approve/reject before the tool runs; resume with new Command({ resume: { decisions: [...] } }) on the same thread_id.

gsloth sets this for the opt-in run_shell_command tool whenever the shell tool is enabled — including under approvals.mode: "bypass" in interactive code mode, where the tool stays gated so the runtime /auto-approve flag governs it (the runner seeds that flag ON from approvals.mode and approves silently). It is left undefined only for a non-interactive bypass run (exec / ask –write), whose single-shot path does not drain interrupts, so the tool there runs inline without suspending. See getAgentBuildParams.


middleware: any[]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/core/GthDeepAgent.ts:98


model: any

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/core/GthDeepAgent.ts:94


permissions: FilesystemPermission[]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/core/GthDeepAgent.ts:96


systemPrompt: string | undefined

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/core/GthDeepAgent.ts:107

gsloth’s composed system prompt (backstory + guidelines + per-command mode prompt + system prompt). Passed to createDeepAgent({ systemPrompt }), where deepagents combines it ADDITIVELY with its own base + filesystem prompts into ONE system message. This replaces the previous per-turn SystemMessage injection by the runner/AG-UI callers — two system messages (deepagents’ own + gsloth’s, not first) are rejected by Anthropic. undefined when no prompt content is composed (lets deepagents use only its base prompt).


tools: StructuredToolInterface<ToolInputSchemaBase, any, any>[]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/core/GthDeepAgent.ts:95