The smallest thing between your terminal and a model.
iota is an agent CLI written in Rust. You configure agents — a model, a prompt, a set of tools — and run them: iota run <agent>.
curl -fsSL https://iota.sh/install.sh | shv0.7.5 · MIT · macOS, Linux and Windows
let (rx, tx) = pipe()?; drop(tx); // before the await, not after let n = read_to_end(rx).await?;
| Where | What it holds | Fix |
|---|---|---|
| writer.rs:88 | the write end | drop before awaiting |
| resume.rs:41 | a clone of it | take by value |
The shapes are the real ones: a shell call and its receipt, a table, display math laid out in two dimensions, a picture drawn inline.
# what it does
run an agent you named in one YAML file — its model, its prompt, its tools
talk to OpenAI, Anthropic, Gemini, or any endpoint that speaks their APIs — yours included
run bash under an OS sandbox, edit code, call MCP tools — and ask before it writes
stream a reply while you keep typing; render markdown, tables and math inline
save every session as plain files you can resume, grep or export
run child agents from bash: iota run <agent> -m "<task>"
# what it does not
run a daemon or a server, or leave anything running after you quit
ask you to sign in, or phone home
write outside the project root unless you say so
wrap the model in a framework you have to learn first
→Read the documentationinstall, configure, and the three layers of ~/.iota.yaml
→Source on GitHubMIT, ~70k lines of Rust, issues welcome
→Changelogwhat changed, and what it breaks