Skip to content
Theme:

Agents

Agents are defined in .aether/settings.json — their model, prompts, tool access, and how they can be invoked.

  • Directory.aether/
    • settings.json — Agent catalog
    • mcp.json — MCP server config
    • DEFAULT.md — Shared prompt scaffold
  • AGENTS.md — Project instructions
{
"prompts": [".aether/DEFAULT.md", "AGENTS.md"],
"mcps": [".aether/mcp.json"],
"agents": [
{
"name": "planner",
"description": "Plans implementation strategy",
"model": "anthropic:claude-sonnet-4-5",
"reasoningEffort": "high",
"userInvocable": true
}
]
}
FieldTypeDescription
agentstringOptional default user-invocable agent name
promptsPromptSource[]Prompt sources inherited by all agents that don’t define their own prompts
mcpsMcpSource[]MCP config refs inherited by all agents that don’t define their own mcps. Files are merged in order; on collisions, the last file wins. Use { "type": "file", "path": "...", "proxy": true } to route a referenced config through Aether’s tool proxy.
agentsAgentEntry[]Array of agent definitions
FieldTypeDefaultDescription
namestringrequiredUnique identifier for the agent
descriptionstringrequiredHuman-readable description shown in the UI
modelstringrequiredModel spec — provider:model-id or comma-separated alloy
reasoningEffortstring"low", "medium", "high", or "xhigh"
userInvocablebooleanfalseAppears as a mode in the TUI and ACP clients
agentInvocablebooleanfalseCan be spawned as a sub-agent
promptsPromptSource[][]Agent-specific prompt sources. When non-empty, replaces the inherited top-level prompt list.
mcpsMcpSource[][]Agent-specific MCP config refs. When non-empty, replaces the inherited top-level MCP config list.
toolsobject{}Tool filtering with allow and deny arrays

Prompt sources can be file-path strings or typed objects:

{
"prompts": [
"AGENTS.md",
{ "type": "file", "path": ".aether/DEFAULT.md" },
{ "type": "glob", "pattern": "prompts/*.md" },
{ "type": "text", "text": "Always answer concisely." }
]
}

MCP sources can be file-path strings, typed file refs, or inline server configs:

{
"mcps": [
".aether/mcp.json",
{ "type": "file", "path": ".aether/external-mcp.json", "proxy": true },
{
"type": "inline",
"servers": {
"coding": { "type": "in-memory" }
}
}
]
}