import{c as e,Q as s,j as a,m as i}from"./chunks/framework.BPKcPtvA.js";const k=JSON.parse('{"title":"Agent CLI Reference: 5-Tool Comparison","description":"","frontmatter":{},"headers":[],"relativePath":"modules/tool-reference.md","filePath":"modules/tool-reference.md","lastUpdated":null}'),n={name:"modules/tool-reference.md"};function d(o,t,l,r,p,h){return s(),a("div",null,[...t[0]||(t[0]=[i(`
A side-by-side reference for Claude Code, Pi Coding Agent, OpenCode, Hermes Agent, and OpenClaw.
1. Claude Code (Anthropic) Role : Primary generalist coding agent. Best all-around tool.License : Proprietary (free tier + Pro subscription)Runtime : Node.jsConfig : CLAUDE.md in project root
Key Capabilities Feature How To Course Reference Multi-agent teams claude --teammate-mode tmuxM4 — teammate-mode spawns agents in split panes Headless execution claude -p "prompt" --printM5 CI/CD pipeline Constrained tools --allowedTools "Read Write Edit"M3 security (L4 whitelist pattern) Hooks system .claude/hooks/*.pyM3 hook architecture (13 lifecycle events) Subdirectory rules frontend/CLAUDE.md, backend/CLAUDE.mdM2 skills deep dive Stop hook self-improve PostToolUse → headless claude session M3, also ClaudeFAST pattern
Boilerplate Setup bash # Project initialization
claude --init
# Launch with teammate mode
claude --teammate-mode tmux
# Headless CI mode
claude -p "Implement the feature described in spec.md" --allowedTools "Read Write Edit Bash" --print
# With custom hooks directory
claude --hooks .claude/hooks/ Hook Lifecycle (13 events) Phase Events Session Setup, SessionStart, SessionEnd Main Loop UserPromptSubmit, PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, Stop, Notification Subagents SubagentStart, SubagentStop Maintenance PreCompact
2. Pi Coding Agent (pi.dev) Role : Customizable agent harness. Full control over every aspect.License : Open source (MIT)Runtime : Node.js (TypeScript SDK)Config : .pi/settings.json, .pi/agents/*.md
Key Capabilities Feature How To Course Reference Extensions pi -e extensions/<name>.tsM3 — damage-control, tilldone RPC mode pi --mode rpcM5 — programmatic control (26+ commands) Agent teams agent-team extension + teams.yamlM4 dispatcher pattern Agent chains agent-chain extension + agent-chain.yamlM4 pipeline pattern ($INPUT/$ORIGINAL) P2P communication coms (Unix sockets) / coms-net (HTTP/SSE)M4 flat P2P pattern Mental models .pi/multi-team/expertise/*.yamlM4 agent memory, self-improve commands Damage control damage-control.ts + damage-control-rules.yamlM3 three access levels Skills system .pi/skills/*/SKILL.mdM2 composable skills
Boilerplate Setup bash # Launch with extensions
pi -e extensions/damage-control.ts -e extensions/tilldone.ts -e extensions/minimal.ts
# Launch with multiple extensions (stackable)
pi -e extensions/purpose-gate.ts -e extensions/tool-counter.ts
# RPC mode (programmatic control from any language)
pi --mode rpc
# Pi-to-Pi peer communication (same machine)
just local-coms --name planner --purpose "Plans the work"
just local-coms --name coder --purpose "Writes the code"
# Pi-to-Pi networked (across machines)
just coms-net-server # hub
just coms --name dev # client 1
just coms2 --name prod # client 2 Extension Catalog (16 total) Category Extensions UI pure-focus, minimal, theme-cycler, session-replay Monitoring tool-counter, tool-counter-widget Task tilldone, purpose-gate Multi-Agent subagent-widget, agent-team, agent-chain Safety damage-control, damage-control-continue P2P coms, coms-net Cross-Tool cross-agent, system-select Meta pi-pi
Pi Agent Rust Port (Jeff Emanuel, 1,024★) A Rust reimplementation of the Pi agent with zero unsafe code.
Feature Pi (TypeScript) Pi Agent Rust Extensions Full (16+) Compatible RPC mode Yes Yes Performance Baseline ~2x faster Binary size ~35MB ~8MB Memory safety Node.js GC Zero unsafe Rust
The 4 Dimensions of Control (Pi's strength) Dimension Pi's Advantage Context Full control over what the agent sees via extensions Model Any provider, any model — pluggable Prompt Skills, system prompts, agent .md files — fully customizable Tools Extensions can add, remove, or override any tool
3. OpenCode (opencode.ai) Role : Open-source Claude Code alternative. MIT license.License : MIT (open source)Runtime : Node.js (npm global package)Config : Shares ~/.grok/config.toml with Claude Code
Key Capabilities Feature How To Course Reference Headless commands opencode run "prompt"M5 CI/CD alternative to Claude Code CLI Model selection opencode --model opencode-go/deepseek-v4-flashM6 cascade routing Proxy support Routes through localhost:18901/v1 M6 cost optimization Shared config Uses same ~/.grok/config.toml M5 production stack — dual tool setup Go models 12 Go-optimized models available M6 economics (Go models are cheaper per token)
Available Go Models (through proxy) Model ID Cost Tier Best For opencode-go/deepseek-v4-flashBudget General agentic tasks ($10/mo flat) opencode-go/deepseek-v4-proMid Complex reasoning opencode-go/kimi-k2.6Mid Long context opencode-go/qwen3.6-plusBudget Structured tasks opencode-go/minimax-m2.7Budget Fast responses
Boilerplate Setup bash # Headless task execution
opencode run "Refactor the auth module to use JWT tokens"
# With specific model
opencode --model opencode-go/deepseek-v4-flash run "Write unit tests for the API"
# With custom config
opencode --config ~/.grok/config.toml run "Deploy to staging"
# List available models
opencode models When to Use OpenCode Instead of Claude Code Scenario Choose Need open-source license OpenCode Budget-constrained OpenCode (Go models at $10/mo flat) CI/CD pipelines OpenCode run command Primary development Claude Code (better tool calling) Need hooks system Claude Code (13 events vs OpenCode's limited hooks) Heterogeneous stack Both (OpenCode as backup/alternative model)
4. Hermes Agent (Some Engineering Inc.) Role : TypeScript-native, MCP-first agent for structured workflows.License : Open sourceRuntime : Node.js (TypeScript)Design philosophy : MCP-native architecture, structured output first
Key Capabilities Feature How To Course Reference MCP-native tools Built-in MCP client M2 Beyond MCP channels Structured output TypeScript types enforced M2 context management Tool-use workflows Designed for function-calling chains M2 agent loop variants OpenClaw ecosystem Integrates with OpenClaw agents M4 multi-agent orchestration
Boilerplate Setup bash # Run with MCP server
hermes --mcp-servers ./mcp-config.json
# Execute workflow
hermes run workflow.ts
# With custom tools
hermes --tools-dir ./tools/ When to Use Hermes Building TypeScript-native agent pipelines MCP-first architecture (tools as MCP servers) Tight integration with OpenClaw ecosystem Structured output enforcement (TypeScript types) 5. OpenClaw Role : Always-on agent employee. Heartbeat-driven, autonomous execution.License : Open sourceRuntime : Node.js daemonDesign philosophy : "If it can receive a heartbeat, it's hired."
Key Capabilities Feature How To Course Reference Heartbeat model Wakes on schedule, works, sleeps M7 always-on agents One-shot execution claw do "task"M5 production task dispatch Device-key pairing Auth via device key + invite M5 deployment modes Paperclip-native Primary agent for Paperclip orchestration M7 framework comparison tmux integration Can run inside tmux sessions M5 production stack
Boilerplate Setup bash # Start as daemon (always-on employee)
claw start --daemon
# One-shot task
claw do "Review the latest PR and leave comments"
# Schedule recurring task
claw schedule --cron "0 6 * * 1" --task "Generate weekly report"
# Check status
claw status
# Stop daemon
claw stop Heartbeat Execution Model Timer fires → Check for queued work → Wake agent → Execute → Report results → Sleep No continuous running. The agent wakes, works, and goes back to sleep. This is the most cost-effective model for scheduled/recurring work.
Comparison Matrix Feature Claude Code Pi Agent OpenCode Hermes OpenClaw License Proprietary MIT MIT Open Open Cost Pro sub Free Free Free Free Hooks 13 events Extension events Limited MCP events None Multi-agent teammate-mode Extensions No Chains Heartbeats P2P coms No coms/coms-net No No No Headless mode --printRPC mode runYes daemon MCP support Built-in Via extensions Via proxy Native Via Paperclip Best for Generalist coding Custom harness OSS alternative TS pipelines Always-on tasks Course module M3, M4, M5 M3, M4, M5 M5, M6 M5 M5, M7
Quick Selection Guide What are you building?
├── A feature? → Claude Code
├── A custom workflow? → Pi Agent
├── An open-source project? → OpenCode
├── A TypeScript pipeline? → Hermes
└── A recurring task? → OpenClaw
Need multiple?
├── Production system → All 5 (see REFERENCE-STACK.md)
├── Budget constrained → OpenCode + Go models
├── Maximum control → Pi Agent + extensions
└── Enterprise rollout → Claude Code + Agent Manager `,61)])])}const g=e(n,[["render",d]]);export{k as __pageData,g as default};