| name | sessions |
| description | Inspect, search, and message between conversation sessions. Use when: the user asks for chat history, wants to send a message into another session, or you need to spawn a sub-agent. NOT for: short in-process delegation (use llm_task) or file-backed memory (use memory-tools). |
| metadata | {"all_agents":{"emoji":"💬"}} |
Sessions
Each chat lives under a session id; transcripts are stored on disk under
~/.all-agents/sessions/. Three primitives expose them:
sessions_list { } — list session ids known to the runtime.
sessions_history { session_id, limit } — read the last N messages.
sessions_send { session_id, content, role } — append a message into
the named session as if it had been typed (default role: user).
Plus two ways to start work in a different agent:
llm_task { prompt, agent } — synchronous in-process delegation
(cheap, no isolation).
subagent_spawn { agent, message, timeout } — spawn the target agent
in its own OS subprocess and wait for the reply (isolated, slower).
Decision tree
| Need | Use |
|---|
| Quick summarisation / classification | llm_task |
| Untrusted input / heavy tool use | subagent_spawn |
| Inject a follow-up into a parallel chat | sessions_send |
| Audit what was said | sessions_history |
After spawning
subagent_spawn already tears down the child process when the call
returns. You don't need to call processes stop afterwards.