Skip to main content
Shell and web tools let Claude interact with your operating system and the internet. Because these tools have significant side effects, most of them trigger a permission prompt before executing.

Bash

Execute a shell command. On Unix/Linux systems Claurst runs commands via bash -c; on Windows it falls back to cmd /C. Tool name: Bash
Permission: Execute — always prompts unless BypassPermissions mode
Shell commands can modify files, install software, push code, or delete data. Always review the command before approving. Destructive or irreversible commands require your explicit confirmation.

Parameters

string
required
Shell command to execute.
number
Maximum execution time in milliseconds. The Rust implementation uses seconds with a default of 120 s and a hard cap of 600 s. The TypeScript implementation’s default is 120 000 ms (2 minutes).
string
Human-readable summary of what the command does, shown in the permission prompt.
boolean
When true, the command is launched as a background task and a task_id is returned immediately instead of waiting for completion. Not available when CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 is set.
boolean
Override the sandbox for this single call. Requires the user to have sandbox mode configured; has no effect if sandbox is not enabled.

Return value

string
required
Standard output from the command.
string
required
Standard error from the command.
boolean
required
true if the command was killed due to timeout or user interruption.
string
Task ID when run_in_background is true.
string
Human-readable explanation of the exit code when it is non-zero.
boolean
true when stdout contains base64-encoded image data.

Sandboxing

When enabled, Claurst uses platform-native sandboxing to restrict what commands can do: Set dangerouslyDisableSandbox: true to bypass sandboxing for a single call when you know the command needs full system access.

Auto-backgrounding

Long-running commands are managed automatically:
  • After 2 seconds a progress indicator is shown.
  • In the TypeScript implementation, commands that run longer than 120 seconds are automatically moved to a background task. In Kairos/assistant mode the threshold is 15 seconds.
Prefer SleepTool over bash -c "sleep N" for waiting. It does not hold a shell process and can be interrupted by the user.

Permission behavior

Example


PowerShell

Execute a Windows PowerShell command. Mirrors the Bash interface but targets PowerShell (pwsh on non-Windows platforms, powershell -NoProfile -NonInteractive on Windows). Tool name: PowerShell
Permission: Execute

Parameters

string
required
PowerShell command or script block to execute.
number
Maximum execution time in milliseconds.
string
Human-readable description shown in the permission prompt.
boolean
Launch as a background task. Not available when CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1.
boolean
Override sandbox mode for this call.

Return value

Same fields as Bash: stdout, stderr, interrupted, backgroundTaskId, returnCodeInterpretation, isImage.

Notes

  • Start-Sleep and bare sleep commands are detected and rejected; use SleepTool instead.
  • Common PowerShell read operations (Get-Content, Get-ChildItem, Get-Process, etc.) are classified as read-only and auto-approved in AcceptEdits mode.

Example


WebFetch

Fetch a URL and return its content. HTML responses are converted to Markdown before being returned. Large responses may be summarized. Tool name: WebFetch
Permission: Per-hostname rules. Pre-approved hostnames do not trigger a prompt.

Parameters

string
required
Fully-qualified URL to fetch (HTTP or HTTPS).
string
required
Instruction describing what to extract or summarize from the fetched content. When the response exceeds the size threshold, a Haiku model call applies this prompt to distill the content.

Return value

string
required
Final URL after any redirects.
integer
required
HTTP status code.
string
required
HTTP status text (e.g. "OK", "Not Found").
string
required
Processed content: Markdown-converted HTML, or a model-generated summary when the content was too large.
integer
required
Response size in bytes.
number
required
Time to fetch and process the response.

Notes

  • HTML is stripped of scripts and styles and converted to Markdown. The Rust implementation uses a manual state machine for HTML stripping.
  • The Rust implementation uses a 30-second timeout and follows up to 10 redirects.
  • The User-Agent sent by the Rust implementation is Claude-Code/1.0.
  • Responses larger than 100 000 characters are truncated.

Example


WebSearch

Search the web and return titles, URLs, and snippets. Tool name: WebSearch
Permission: Always prompts (permission behavior is passthrough).

Parameters

string
required
Search query. Minimum 2 characters.
string[]
Restrict results to these domains (TypeScript implementation only).
string[]
Exclude results from these domains (TypeScript implementation only).
integer
default:"5"
Maximum number of results to return (Rust implementation).

Return value

string
required
The query that was executed.
object[]
required
Array of search results, or a string message when no results were found.
number
Time taken to complete the search (TypeScript implementation).

Search backends

Example