Agent Loop (OpenClaw)
Agent Loop (OpenClaw)
The agent loop is the full execution path in OpenClaw: intake → context assembly → model inference → tool execution → streaming replies → persistence.
See Source - Agent Loop (OpenClaw) for the detailed source summary.
Quick reference
- Fire-and-forget:
agentRPC → returns{runId, acceptedAt}immediately. - Wait for completion:
agent.waitRPC → blocks untillifecycle end/error. - Runs are serialized per session via session lanes (+ optional global lane).
- Timeout hierarchy:
agent.wait(30s default) < LLM idle (60s default) < agent runtime (48h default).
Hook entry points (ordered)
before_model_resolve— override modelagent:bootstrap— adjust bootstrap context filesbefore_prompt_build— inject context/system-prompt additionsbefore_agent_start— legacybefore_agent_reply— synthetic reply or silencebefore_tool_call/after_tool_call— intercept toolstool_result_persist— transform results before transcript writeagent_end— post-completion inspectionbefore_compaction/after_compaction— compaction cycle
Related
- OpenClaw — system overview
- OpenClaw Hooks — hook reference
- Command Queue — lane/queue modes
- Streaming — event stream details
- Compaction — auto-compaction behavior