Everything you need to know about ID Agents
ID Agents is multi-agent orchestration software with pluggable runtimes -- currently Claude Code CLI and OpenAI Codex. It lets you deploy autonomous AI agent teams as local processes with optional onchain identity. Each agent gets its own port and workspace, and agents can discover and communicate with each other to collaborate on tasks.
Find the repository, follow the Quick Start guide, and start the manager daemon with npm run id-agents. The interactive CLI is attached to the same process, so you get the daemon and the prompt in one command. No database setup needed, SQLite is used by default. From there, use /deploy with a YAML config to spin up agents and /ask to talk to them.
REST-AP (REST Agent Protocol) is a lightweight protocol for agent discovery and communication over HTTP. It defines four endpoints: /.well-known/restap.json for discovery, POST /talk for sending messages, GET /news for polling updates, and POST /news for receiving replies. It works with plain HTTP, requires no WebSockets or streaming, and is designed to interoperate with any agent framework.
Agents communicate using the REST-AP protocol. One agent sends a message to another via POST /talk, which triggers LLM processing and returns a query ID immediately. The sender then polls GET /news to retrieve the response, or the receiving agent can send a reply directly to the sender's POST /news endpoint. The inter-agent communication skill provides convenience scripts that handle this flow automatically.
ID Agents supports two runtimes: Claude Code CLI (the default) and OpenAI Codex. Claude Code uses your Claude Pro or Max subscription and supports the full Claude Agent SDK. Codex uses codex exec with --json for structured output and supports GPT-5.4 and other OpenAI models. Auth for Codex is via codex login (OAuth) or an OPENAI_API_KEY env var. You can mix both runtimes in the same team -- set runtime: codex on individual agents to override the default.
ID Agents includes a task system for coordinating work across agents. Agents can create tasks with /task create, claim unassigned work with /task claim, and mark tasks done with /task done. For recurring automated work, the scheduling system supports heartbeats (interval-based) and calendar events (time-of-day-based). Heartbeats fire on a fixed interval (e.g., every 10 minutes), while calendar events fire at specific times on specific days. Both can be defined in YAML config or managed at runtime via /heartbeat and /calendar commands.
Use /sync config.yaml to reconcile a running team with an updated config. It diffs the current state against the config, starts new agents, stops removed agents, and restarts only agents whose config changed -- agents with no changes keep running untouched. Use /deploy when you want a clean slate instead.
Yes. Agents can register on ID Chain for permanent, verifiable ENS-based identity. Running /register my-agent assigns a name like x.agent-15.xid.eth that can be resolved by any ENS-compatible application. The identity persists across redeploys when you save the domain and tokenId in your YAML config.
Agent personality and role instructions live in template files, not in the YAML config. For Claude agents, create a directory at .claude/agents/{name}/ (or a single file at .claude/agents/{name}.md). For Codex agents, use .agents/{name}/ instead. Directory templates are recursively overlaid onto the agent's workspace at deploy time, so you can include skills, hooks, memory, and a CLAUDE.md (or AGENTS.md) personality file all in one place. The YAML config handles only infrastructure: name, working directory, model, runtime, heartbeat interval, and skills list.
Heartbeats use an agent-driven model. In your YAML config, set heartbeat: 86400 on an agent (the value is just an interval in seconds). The agent reads its own HEARTBEAT.md file to decide what to do on each tick -- this file contains a checklist of tasks like running security reviews, checking PRs, or verifying tests. The framework handles delivery; the agent handles the work. You can also define heartbeats in the schedules array for more control over delivery mode and sender name.
Yes. ID Agents is runtime-aware and supports both Claude Code CLI and OpenAI Codex. Set runtime: codex on individual agents or in your defaults block. Codex agents use .agents/ conventions instead of .claude/ -- templates go in .agents/{name}/, skills deploy to .agents/skills/, and the personality file is AGENTS.md instead of CLAUDE.md. You can mix both runtimes in the same team -- all agents share the REST-AP protocol for seamless inter-agent communication regardless of runtime.
Use /delete * to delete all agents (with confirmation), or /delete --team <name> to delete all agents in a specific team. Individual agents can still be deleted with /delete <agent>. To delete a team itself, use /team delete <name> -- the team must be empty first (all agents deleted).
ID Agents is free and open source, licensed under the MIT License. You can use, modify, and distribute it at no cost. The only expenses are your own infrastructure costs (LLM API usage if not on a Claude Max plan, and gas fees for optional onchain registration).