Tools Reference
19 built-in tools. Source: crates/tools/src/lib.rs (4645
lines). Dispatcher execute_tool(name, input) at
tools.rs:548–573. Registry ToolRegistry at
tools.rs:35–49.
Tool catalog
| Tool | Purpose | Permission | Key inputs | Side effects | Cite |
|---|---|---|---|---|---|
bash |
Execute shell command | DangerFullAccess |
command, timeout?,
description?, run_in_background?,
dangerouslyDisableSandbox? |
subprocess, fs, net | tools.rs:228–243 |
read_file |
Read text file | ReadOnly |
path, offset?, limit? |
fs read | tools.rs:245–258 |
write_file |
Write text file | WorkspaceWrite |
path, content |
fs write (creates parent dirs) | tools.rs:260–272 |
edit_file |
Find-replace in file | WorkspaceWrite |
path, old_string, new_string,
replace_all? |
fs read+write | tools.rs:274–288 |
glob_search |
Find files by glob | ReadOnly |
pattern, path? |
fs read | tools.rs:290–302 |
grep_search |
Regex search file contents | ReadOnly |
pattern, path?, glob?,
-A/-B/-C,
-n/-i, type?,
head_limit?, multiline?,
output_mode? |
fs read | tools.rs:304–328 |
WebFetch |
Fetch URL, HTML→text, answer prompt | ReadOnly |
url, prompt |
network; 20 s timeout, up to 10 redirects, http→https upgrade except localhost | tools.rs:330–343 |
WebSearch |
DuckDuckGo web search | ReadOnly |
query (min 2 chars), allowed_domains?,
blocked_domains? |
network; DSCC_WEB_SEARCH_BASE_URL override, 20 s
timeout, max 8 hits |
tools.rs:345–364 |
TodoWrite |
Update session task list | WorkspaceWrite |
todos[] (each content,
activeForm,
status: pending|in_progress|completed) |
fs write at .dscc-todos.json or
DSCC_TODO_STORE |
tools.rs:366–392 |
Skill |
Load a skill definition | ReadOnly |
skill, args? |
fs read | tools.rs:394–406 |
Agent |
Launch subagent | DangerFullAccess |
description, prompt,
subagent_type?, name?,
model? |
background thread, API calls, fs artifacts under
.dscc-agents/ |
tools.rs:408–423 |
ToolSearch |
Find deferred tools | ReadOnly |
query, max_results? |
fs read | tools.rs:425–437 |
NotebookEdit |
Replace / insert / delete Jupyter cell | WorkspaceWrite |
notebook_path, cell_id?,
new_source?, cell_type?,
edit_mode? |
fs read+write | tools.rs:439–454 |
Sleep |
Blocking sleep | ReadOnly |
duration_ms |
thread sleep | tools.rs:456–467 |
SendUserMessage / Brief |
Send message with attachments | ReadOnly |
message, attachments?,
status? |
fs read | tools.rs:469–488 |
Config |
Read / write DSCC settings | WorkspaceWrite |
setting, value? |
fs read+write (~/.dscc/settings.json or
.dscc/settings.local.json) |
tools.rs:490–504 |
StructuredOutput |
Return arbitrary structured JSON | ReadOnly |
any object | none | tools.rs:506–513 |
REPL |
Run code in subprocess | DangerFullAccess |
code, language (python/node/bash/sh),
timeout_ms? |
subprocess | tools.rs:515–528 |
PowerShell |
Run PowerShell | DangerFullAccess |
command, timeout?,
description?, run_in_background? |
subprocess (Windows) | tools.rs:530–544 |
Agent subagent types
Defined at tools.rs:1687–1766. The
subagent_type? input to the Agent tool selects
one.
| Type | Tool allowlist |
|---|---|
Explore |
read_file, glob_search,
grep_search, WebFetch, WebSearch,
ToolSearch, Skill,
StructuredOutput |
Plan |
Explore set + TodoWrite +
SendUserMessage (no bash /
edit) |
Verification |
bash, PowerShell, TodoWrite,
SendUserMessage, reads |
dscc-guide |
Explore set + SendUserMessage |
statusline-setup |
bash, read_file, write_file,
edit_file, glob_search,
grep_search, ToolSearch |
general-purpose (default) |
all tools |