Skip to content

Tool Arsenal

Dipanshu Kamboj edited this page Aug 31, 2026 · 1 revision

🔧 Tool Arsenal

Every tool the agent can call, in one place. Tools mount as plugins — hide or add them per profile via cordis.patch.yml without touching code.

Shell & execution

Tool What it does
bash One-shot bash -c with bounded output, spill-to-file, background jobs, timeout + SIGTERM→SIGKILL escalation. Fresh shell per call.
pwsh Same shape for PowerShell (pwsh -NoLogo -NoProfile -NonInteractive).
terminal_open / terminal_send / terminal_read / terminal_signal / terminal_list / terminal_close A persistent PTY session: real interactive TTY (prompts, ctrl-c, vi, ssh…) with scrollback you can re-read.
Persistent bash/pwsh shells The persistent-shell tools keep cwd and exported env across calls — for work that genuinely needs state.
job_output / job_list / job_kill One controller for every background job: background commands, PTY sends, subagents. Read, list, kill.
workflow / ralph Multi-round scripted agent loops — one fresh structured child per round, parented by the caller.

Filesystem

Tool What it does
read / write / edit / str_replace_editor Read, write, and patch files; every op is audited and policy-gated.
read_image Attach an image file for vision models.
glob / grep Path and content search over the workspace.

Web & research

Tool What it does
web_fetch Fetch a URL (bounded, robots-aware) with any mounted fetch backend.
web_search Search the web through the mounted provider (DeepSeek/Exa/Perplexity backends are swappable behind the seam).

Model context

Tool What it does
lsp Language-server queries (hover, definitions, diagnostics…) through mounted LSP providers.
ask_user_question Ask the human a blocking question from inside the session — answers land as a user message.
todo_write Session-owned plan checklist the UI renders live.
skill Load a skill into context on demand — one reusable, self-contained instruction pack.
create_goal / get_goal / update_goal Durable goal state: create, pause, resume, block, complete.

Sessions & history

Tool What it does
session_search / session_trace / session_event_read / session_event_search / session_event_trace Five read-only tools to search past sessions, trace events, and mine what an earlier agent did.

Multi-agent & teams

Tool What it does
subagent / subagent_fork Delegate self-contained work to a fresh child agent (continuable or one-shot), foreground or background.
send_message / interrupt_agent / list_agents Drive live children: message them, interrupt, list.
report The child's channel to hand a result back to its parent.
spawn_teammate / wait_agent / followup_task Agent Teams (experimental): durable teammates with a shared Lead journal, wake/quiet delivery, mailbox recovery.
team_task_create / team_task_get / team_task_list / team_task_update Team task board with compare-and-set updates.

Code & platform

Tool What it does
run_code Execute code (TypeScript/Python) with direct typed access to the harness's own tool API.
cordis_define / cordis_run / cord_inspect_* / cordis_stop / cordis_undefine Hot-load and drive new plugins at runtime — the agent can extend the harness itself.
schedule_create / schedule_list / schedule_delete Time-based autonomous triggers: after N seconds, at an absolute time, or fixed-rate.
exit_plan_mode Close a plan-mode turn and hand the plan back for approval.

The pattern: every tool talks to a capability seam (ctx.shell, ctx.fs, ctx.web, ctx.lsp, ctx.subagents…), never directly to an implementation. Swap the backend — web-fetch-http → a new provider, bash-local → your executor — and the model-facing schema stays identical. That's what makes this thing composable.

Browse exact schemas: Tool catalog

Clone this wiki locally