Reference

agent.toml

A fly.toml-style declaration of your agent. Optional at every layer — ast launch scaffolds it, a flags-only path exists for everything, and the file never crosses the wire (the CLI validates and inlines it client-side).

Full schema

Only name is required; type defaults to hermes and llmto the type's default model. Long markdown can live inline in triple-quoted strings or in sibling files via file = / prompt_file = — the CLI inlines their content before calling the API.

toml
# agent.toml — everything the create wizard can set. Only `name` is required.
name = "research-agent"
description = "Web research with citations"
type = "hermes"                    # hermes | claude_code | codex | openclaw
llm = "deepseek-v4-flash"          # must be compatible with type
capabilities = ["exa.search"]      # capability ids from the catalog
vcpus = 2                          # optional machine size (create-only): 1|2|4|8
memory_mb = 4096                   # 256MB steps, 256-2048MB per vCPU

# The user prompt layer; the platform preamble is composed server-side.
# Inline here, or `prompt_file = "prompt.md"`.
prompt = """
You are a meticulous research agent…
"""

[[instructions]]                   # additional .md files for the agent
name = "style.md"
file = "instructions/style.md"     # or inline: content = """…"""

[[skills]]
name = "citations"
url = "https://…"
source = "git"                     # registry | git | package | archive
version = "1.2.0"

[[customInstalls]]
command = "pip install yfinance"
timeoutSeconds = 300
allowNetwork = true

[[customData]]
id = "prices"
name = "Price sheet"
kind = "spreadsheet"               # spreadsheet | doc | private_api | other
uri = "https://…"

Secrets are not spec data — set them after launch with ast secrets set <slug> KEY=VALUE (values are write-only, encrypted at rest).

Lifecycle

ast launch creates the agent and stamps slug = "…" back into the file; from then on ast deploy re-applies your edits (prompt, display name, capabilities) to that agent, idempotently. -f <path> overrides the ./agent.toml discovery on both commands.