Run
Choose the runtime and isolation layer for each pipeline.
Bento runs repeatable coding-agent workflows 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 workflow 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-reviewoutput:github: reviewguardrails:read_only: truetimeout: 900
An event you already produce — a PR opening, an issue landing, a cron firing. Pick what kicks off the pipeline.
Choose who runs and the procedure they follow. Same personas, different playbooks — 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 whether each source is injected, mounted as files, available for browsing, or retrieved on demand.
Bento treats Engineering what an agent sees and when — prior state, team knowledge, scoped identity, assembled into each run — rather than 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 repo. 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 — the top matches are pushed 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 is exhausted.
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 repo, prior results, and bounded history for the next matching run.
Declare strict inputs, defaults, and event mappings. Invalid work is rejected before an agent starts.
Compose governing skills, reference skills, protocols, 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 repo. Switch providers whenever you like, run it on your own hardware, keep your data to yourself. Most agent platforms can't say that — your code on their cloud, your team on their models, 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. Changes can be reviewed, tested, and rolled back through the same workflow as the rest of your code.