Open source
FastClaw agent runtime
Channel agents need durable execution, not just chat replies. FastClaw queues work, scopes tools and context, handles memory and approvals, and returns results to the right channel.

The challenge
Teams want agents inside Slack, Teams, WhatsApp, and other channels. A useful agent is more than a webhook: durable execution, memory, file handling, approvals, tool access, logs, and failure recovery sit inside the same runtime.
What Grail built
Grail built a Rust-first runtime that receives messages, turns them into durable tasks, scopes the context and tools, runs the agent work, and posts results back to the original channel.
Impact
FastClaw became a base layer for Grail internal and client agents, supporting production-style work instead of simple chatbot replies.
Impact summary
| Primary result | 7 Rust crates |
|---|---|
| Operational result | 72 tests in local README |
| Workflow scope | Base layer for channel agents |
How the workflow runs
Requests are queued, hydrated with context and files, executed by an agent worker, summarized, and returned to the channel that started the work.
- A request enters from Slack, Teams, WhatsApp, an API, or a web app.
- The runtime creates a durable task.
- The agent receives scoped context, tools, files, and permissions.
- Risky actions can go through approval.
- Logs and traces are stored.
- The result returns to the original channel or system.
Human control
The control points were specific to the workflow, so the agent could speed up the work without silently taking over sensitive decisions.
- Scoped tool access.
- Approval gates for sensitive actions.
- Logs and traces for debugging.
What shipped
The implementation centered on these shipped pieces:
- Channel adapters for workplace and chat interfaces.
- Task queue.
- Agent execution harness.
- Memory and file handling.
- Approval flow.
- Dashboard/control API.
- Logging and debugging path.