Creating Agents
What you'll accomplish: Create agents using templates, manifests, and auto-loading directories.
From a template
The quickest way to create an agent:
hoziron agent new assistant
This creates and starts an agent with the built-in assistant template.
From the API
curl -X POST http://localhost:4200/agents \
-H "Content-Type: application/json" \
-d '{
"name": "my-agent",
"triggers": [{"lifecycle": {}}]
}'
API-created agents start in Created state — you need to explicitly start them:
curl -X POST http://localhost:4200/agents/{id}/start
Using manifests
For reproducible agent definitions, use TOML manifests:
# agents/claims-agent.toml
name = "claims-agent"
description = "Processes insurance claims"
model = "anthropic/claude-sonnet-4-20250514"
Place manifests in the agents directory and the platform loads them on startup.
Auto-loading
Configure a directory for automatic agent loading:
[agents]
manifests_dir = "/data/agents/"
All .toml files in this directory are loaded as agent manifests when the daemon starts. This is ideal for GitOps workflows — commit agent definitions to a repo and deploy them as config.
Agent model assignment
Agents can specify their own model or inherit the platform default:
- Explicit model: Set in the manifest or at creation time
- Platform default: If no model is specified, the agent uses
[default_model]from config.toml - Override: Change an agent's model at any time:
hoziron agent set <agent-id> model "anthropic/claude-sonnet-4-20250514"
Listing and inspecting agents
# List all agents
hoziron agent list
# Detailed status
hoziron agent status <agent-id>
Next steps
Related: