Run
Choose the runtime and isolation layer for each pipeline.
Bento runs repeatable coding-agent pipelines from your repository. Declare the trigger, agent, sandbox, permissions, and destination once, then run the same pipeline on every matching event.
Ecosystem
Keep the tools your team trusts. Bento connects the event, agent, sandbox, and destination in one declared pipeline.
Run
Choose the runtime and isolation layer for each pipeline.
Trigger & deliver
Start from the tools your team uses and return the result there.
Observe
Keep every run inspectable in the systems you already monitor.
One pipeline
The same declared pipeline runs on every matching event, without rebuilding the agent or manually steering the session.
The trigger, reviewer, permissions, timeout, and destination live beside the code they govern.
.bento/pipelines/pr-review.yamlA pull request opens. Bento clones the repository, assembles the allowed context, and starts the reviewer.
pull_request.opened → reviewerThe review lands back on GitHub. Bento keeps the run inspectable and exports orchestrator traces through OpenTelemetry.
github.review → trace 9f4eConfigure the run
How it works
trigger:github: pull_request.openedagent: reviewerskill: pr-reviewoutputs:review:handler: github.review-repliesguardrails:read_only: truetimeout: 900
An event you already produce: a PR opening, an issue landing, a cron firing. Pick what starts the pipeline.
Choose who runs and the procedure they follow. The same personas, different skills: composed per pipeline.
Post back to the surface that triggered it: a review, a comment, a Slack message. The work lands where you work.
Bound the run: a timeout, read-only mode, or an explicit tool allowlist. Start safe, then grant more.
Example run
Delivered to GitHub
The review returns to the pull request that triggered it.
The trace keeps the originating event, assembled context, tool activity, guardrails, and delivered output together for inspection and replay.
output: github.reviewAssemble context from repository files, team knowledge, prior-run notes, and scoped identity. Choose how bento resolves each source: injected, mounted as files, available for browsing, or retrieved on demand.
Bento treats Context engineering decides what an agent sees and when: prior state, team knowledge, and scoped identity, assembled into each run. You engineer that context instead of hand-tuning a single prompt.Read moreAnthropic as part of the harness, not another prompt to rebuild by hand.
Knowledge
Your wiki, blueprints, and recipes live in the repository. One knob decides how they land in a run: pushed into the prompt, listed for on-demand reading, mounted as files, or left to a tool.
knowledge:method: bm25delivery: prompttopK: 3maxTokens: 4000
BM25 retrieval finds the top matches and pushes them into the prompt as <context> excerpts.
Features
Start from GitHub, Linear, cron, MCP, a URL, or the CLI. Validate declared inputs before dispatch.
Route each pipeline through named models and accounts. Fall back when a credential runs out.
Build each run from the repository devcontainer, a Dockerfile, or a standard image on Docker, Podman, or Daytona.
Declare timeouts, read-only mode, tools, and environment grants. Compute short-lived secrets only when a run starts.
Per-target workspaces retain the cloned repository, prior results, and bounded history for the next matching run.
Declare strict inputs, defaults, and event mappings. Bento rejects invalid work before an agent starts.
Compose governing skills, reference skills, policies, and typed specialist operations in one pipeline.
Inspect every trigger, run, turn, and tool call. Replay an event and preserve the complete attempt trail.
Preview the fully assembled prompt and its block-level token budget before spending an agent run.
Own your harness
The harness is just code in your repository. Switch providers whenever you like, run it on your own hardware, and keep your data to yourself. Most agent platforms cannot make that claim. They keep your code on their cloud, your team on their models, and your data in their logs.
Nothing to get locked into. Just your harness, your way.
FAQ
Bento is a repository-native orchestrator for coding agents. A trigger starts a declared agent in a sandbox, assembles its context, applies its guardrails, and sends the result to the configured destination.
No. Bento runs agents such as Claude Code and Codex. It provides the operational layer around them: triggers, sandboxes, context, credentials, guardrails, memory, delivery, and traces.
GitHub events, Linear issues, cron schedules, webhooks, MCP calls, and manual dispatches can all start a pipeline. Each trigger resolves to one declared workload.
Every run uses the sandbox backend declared for the pipeline. Bento supports local Docker and Podman containers, remote Daytona sandboxes, and just-bash for lightweight isolated execution.
A pipeline explicitly declares credential mounts, allowed tools, timeouts, token budgets, and read-only mode. If a credential is not mounted into the sandbox, the agent cannot use it.
Results return to the configured output, such as a GitHub review, Linear update, or Slack message. The trigger, assembled context, tool activity, guardrails, and output remain available in the run trace.
Yes. Pipelines are YAML files in your repository, beside the code they govern. You review, test, and roll them back through the same process as the rest of your code.