Skip to main content

System Tools Reference

System tools are provided by the runtime itself. They are always available to agents (no module declaration needed) and are injected automatically by the context_builder based on the app configuration.

Tool Categories

System tools are organized in three categories, each activated by YAML configuration:

CategoryActivated byDescription
PrimitivesAlways availableParallel execution, background tasks
Memorymodules.memoryGoal, plan, todos, notes, facts, checkpoints
Agent Spawnagents with coordinator + specialistsSpawn, monitor, and manage sub-agents

In discovery mode, system tools are injected as direct tools alongside the meta-tools (search_tools, execute_tool, etc.). In direct mode, they are injected alongside the module tools.

Primitives (always available)

Execution

ToolDescription
run_parallelExecute multiple actions in parallel (asyncio.gather)
background_runLaunch any action as a background task
background_statusCheck background task status
background_resultGet the result of a completed background task
background_cancelCancel a running background task
background_listList all background tasks
background_waitWait for a background task to complete

Watchers (when execution.watchers: true)

ToolDescription
watch_startStart a persistent watcher (periodic tool execution)
watch_stopStop a watcher
watch_pausePause a running watcher
watch_resumeResume a paused watcher
watch_statusGet watcher status and metrics
watch_listList all watchers
watch_historyGet recent check results

Scheduler (when execution.scheduler: true)

ToolDescription
schedule_onceSchedule a one-shot action at a specific time or after a delay
schedule_cronSchedule a recurring action (cron expression or natural language)
schedule_cancelCancel a scheduled job
schedule_listList all scheduled jobs
schedule_statusGet job status

Other

ToolDescription
rememberSet a reminder that fires after a delay or at a specific time
send_notificationSend a notification through an output channel (when channels: configured)

Memory Tools (when memory module is active)

These tools are available when modules.memory is configured. They give the agent direct control over its cognitive state. See Memory for full documentation.

Working Memory

ToolDescription
set_goalSet the main goal and optional sub-goals
set_planSet the step-by-step plan (auto-creates todos)
update_plan_stepAdvance to the next step in the plan

Task Management

ToolDescription
add_todoAdd a task to the todo list
update_todoUpdate a todo status (pending, in_progress, done, blocked)

Notes (sticky reminders)

ToolDescription
noteAdd a sticky note (something to not forget before finishing)
resolve_noteMark a note as resolved

Knowledge

ToolDescription
add_factStore an important fact (survives compaction)
recallSearch memory for relevant facts and context
forgetRemove a specific fact

Other Memory Tools

ToolDescription
track_entityTrack an active entity (file, person, concept)
add_relationshipAdd a relationship between entities
checkpointSave a self-assessment of progress
cache_contentCache file content for O(1) access
get_snapshotGet the full memory state
add_episodeRecord a session episode

Agent Spawn Tools (when coordinator is configured)

These tools are available to the coordinator agent when specialists are defined in agents:. See Multi-Agent Systems for full documentation.

ToolDescription
spawn_agentSpawn an isolated sub-agent to work on a task in parallel
agent_statusCheck the status of a spawned agent
agent_resultGet the structured result of a completed agent
agent_listList all spawned agents with status
agent_waitBlock until an agent finishes
agent_cancelCancel a running agent
reassign_agentReassign a failed agent with a new task

Tool Injection Modes

How system tools are presented to the agent depends on the tool injection mode:

ModeWhenSystem toolsModule tools
DirectSmall toolsets (< 20% of context)Injected as direct function schemasAlso direct
DiscoveryLarge toolsetsInjected as direct function schemasBehind meta-tools (search_tools, execute_tool)

In both modes, system tools are always directly callable -- the agent never needs to "discover" them. Only domain tools (filesystem, database, http, etc.) are behind the discovery layer in discovery mode.