Capabilities
Tools & policy
Tools are registered through ToolContributor and executed through
ToolExecutor. Providers only see ToolSpec schemas; the runtime
owns policy checks, approval events, execution context, and result routing.
Built-in coding tools
read_fileandlist_filesfor scoped filesystem reads.grepandglobfor workspace discovery.write_file,edit, andmulti_editfor edit-oriented models.apply_patchfor patch-oriented models.echofor deterministic tests and simple harness checks.
Process tools
exec_commandstarts an interactive command session and returns either output or a session id.write_stdinsends input to an existing command session and polls recent output.shellruns a single shell command and returns aggregated output.
Process tools honor the configured command shell and the current turn deadline. In eval-profile runs, long process timeouts are capped before the finalization reserve so the model can still write a final answer or scoreable output.
Tool allowlists
Distributions can narrow the advertised tool set with [tools].allowlist.
The runtime filters tool specs before they are sent to the model, which is useful for
headless task-specific builds that should not expose generic editing or shell tools.
[tools]
allowlist = ["zerolang_skills_get", "zerolang_check", "zerolang_edit"] Extension tools
web_searchfrom the web-search router extension.taskfrom the subagent extension, with optional per-agent namespaced tools.zerolang_*graph-inspection and checked-edit tools from the Zerolang extension.- Provider or product-specific tools installed by custom extensions.
Policy modes
default- writes, process, and network are allowed subject to approval policy.accept_edits- edit tools are auto-approved while other risky operations still pass through policy.plan- blocks writes and process execution, requires user approval to exit.bypass- auto-approves all tools and emits a bypass warning event.
cargo run -p roder-cli -- --mode plan
cargo run -p roder-cli -- --mode accept-edits
cargo run -p roder-cli -- --yolo Edit-tool selection. Roder intentionally exposes either patch-style
editing or direct edit tools for a model request, not both, to keep model behavior predictable.