Skip to content

PabloA 15× smaller harness for your agents.

Pablo is a lightweight agentic harness for non-coding knowledge work, built in Rust.

RUNTIME RESOURCE USELOWER IS BETTER
PEAK TREE MEMORY19.11 MiB
Pablo19
Pi160
Codex196
CC286
MEDIAN CPU UTILIZATION0.37%
Pablo0.37%
Pi3.19%
CC5.59%
Codex6.04%
// PABLO

The agent runtime your application can own.

Embed one bounded lifecycle for models, tools, policy, streaming, cancellation and traces through ACP or directly in your Rust host.

pablo · ~/project
$pablo run "Map this repository." --no-shell
01run.startedtrace 7a93…
02tool.startedfs.list
03tool.finished42 entries · 3.1ms
04model.deltaI found two runtime crates…
completed 2 model calls · 1 tool call
OPEN PROTOCOLS / INCLUDED

One small Rust binary. The agent stack is built in.

Drop Pablo beside your application and choose the boundary you need. Host it over ACP, connect MCP tools, load portable Agent Skills, and delegate bounded work to A2A peers without assembling a separate runtime for each.

One native executablepablomacOS + Linux · arm64 + x86_64
open source · MITRust 1.98.1ACP · MCP · A2A · OTelmacOS + Linux

A small runtime with hard edges ​

Pablo is the execution layer between your application and a model. It streams a task through a typed provider, exposes only the tools your host admits, and returns one native outcome with exact accounting. It does not take over your product’s state or permission model.

From prompt to settled outcome ​

Every admitted task ends as completed, cancelled, timed_out, policy_denied, limit_exceeded, or failed. Failure preserves delivery certainty, so a host can distinguish a request that was never sent from one a remote service may have received.

Built for composition ​

Model routingVercel, OpenRouter, Open Responses, ordered fallback and private reasoning continuation.
Local capabilitiesFilesystem reads, revision-checked mutations and shell commands under explicit policy.
Open extensionsMCP tools, portable Agent Skills, supervised subagents and remote A2A tasks.
Output contractsMachine envelopes, local JSON Schema validation and one bounded repair attempt.
OperationsOffline config inspection, focused diagnostics, bounded JSONL traces and OTLP export.

Hosts own sandboxing, approvals and application state.