Your First Agent
What you'll accomplish: Install an agent from the catalog, chat with it interactively, and equip a competency.
Prerequisites
You should have a running, licensed Hoziron instance. If not, pick an install method:
How agents get created
There is no hoziron-cli agent new command and no POST /agents API route — agents are authored as installable packages. An agent template package is installed from a catalog registry, and installing it with --activate spawns and starts the agent in one step:
# Find an agent-template package
hoziron-cli catalog search "customer service"
# Install it and start it immediately
hoziron-cli catalog install customer-service-agent --activate
A fresh Hoziron instance has no packages available until you've configured at least one catalog registry (hoziron-cli catalog registry add <url> --name <name>) pointing at a registry that has packages published to it — either your own (hoziron-server --surfaces registry) or one Hoziron gives you access to.
Chat interactively
There is no default agent — the platform ships empty, and nothing runs until you install it. You must always pass an agent ID explicitly:
hoziron-cli agent list # find the ID
hoziron-cli agent chat <agent-id>
Type messages and get responses. Press Ctrl+C to exit.
For scripted, non-interactive sends, call the API directly:
curl -X POST -H "Authorization: Bearer $HOZIRON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Summarize the key points of our insurance policy renewal process"}' \
http://localhost:4200/agents/{id}/send
Managing agent lifecycle via the API
# List agents
curl -H "Authorization: Bearer $HOZIRON_API_KEY" http://localhost:4200/agents
# Detailed status
curl -H "Authorization: Bearer $HOZIRON_API_KEY" http://localhost:4200/agents/{id}
# Suspend / re-activate (gate-checked)
curl -X POST -H "Authorization: Bearer $HOZIRON_API_KEY" http://localhost:4200/agents/{id}/suspend
curl -X POST -H "Authorization: Bearer $HOZIRON_API_KEY" http://localhost:4200/agents/{id}/activate
(Omit the Authorization header if the server is running with auth.mode = "disabled", which is only appropriate on a loopback-only bind — see the authentication guide.)
Equip a competency
Competencies define what an agent can do — its personality, tools, and operational parameters. They attach to an agent by being declared in the agent's own AGENT.md, not through a runtime "activate" command (ADR-044) — see using-competencies.md for the full model.
# List available competencies
hoziron-cli competency list
# Install one from a local directory
hoziron-cli competency install ./my-competency/
---
description: "..."
competencies:
- claims-intake
---
Adding claims-intake to the agent's competencies: list and reinstalling that agent package (a version bump, not a live toggle) folds the competency's system prompt, skills, and permissions into the agent.
Check agent status
hoziron-cli agent list
hoziron-cli agent status <agent-id>
What just happened
When you installed and activated an agent-template package, Hoziron:
- Resolved and installed the package's dependencies (skills, competencies) from the catalog
- Registered the agent in the kernel with the model/provider the package (or your override) specifies
- Started the agent lifecycle (Created → Running), if you passed
--activate - Made it available for messages via CLI and API
The agent maintains its own conversation history, memory scope, and lifecycle state.
Next steps
Now that you have a working agent, explore what's possible:
Related: