An agent in Karta is a thin wrapper over anDocumentation Index
Fetch the complete documentation index at: https://docs.karta.sh/llms.txt
Use this file to discover all available pages before exploring further.
AgentDefinition that the
harness adapter discovers from your project. You don’t define agents in Karta’s
own format — you define them the way your harness already expects, and Karta
reads them.
Where agents come from
| Harness | Agent files | Shared context |
|---|---|---|
| Claude Code | .claude/agents/*.md | CLAUDE.md (or AGENTS.md) |
| OpenCode | .opencode/agents/*.md | AGENTS.md |
.claude/agents/billing.md
name, description, prompt, optional
model, tools, skills, permissions, temperature, and type. With a
single agent, it’s selected automatically; with several, you route by name.
Routing
Send a turn to a named agent, or let the default handle it:Handoff within a session
A session has a current agent. Reassign it to hand off mid-conversation; the change fires anagent.handoff hook.
Agents as principals
When a deployed harness app runs, the agent is itself an actor with shell and tool access — it can be steered by end-user input or by data it fetches (prompt injection). The data plane issues it a distinct principal at runtime, and its authority is explicitly bounded and scoped to the current end user, never inherited ambiently. See Personas & trust boundaries.Define agents
The full frontmatter format and conventions.
Skills
Give agents reusable capabilities.