OS-level AI agents
built for Developers.
GantryGraph transforms LangGraph into a secure, fully-controllable engine for desktop and web automation. Built-in guardrails, cost control, and seamless Python integration.
// WHY GANTRYGRAPH
Built for production, not demos.
Computer Use APIs give you a black box. GantryGraph gives you a Python library you can audit, extend, and integrate into any backend — with enterprise-grade controls built into the execution loop from day one.
Native security guardrails
ShellDenylist blocks destructive commands — rm -rf /, fork bombs, curl | bash — before they reach the OS. GuardrailPolicy gates any tool behind a human approval step. Zero-trust by default, not bolted on.
API budget kill-switch
BudgetPolicy hard-stops the agent when it exceeds a token count, wall-clock time, or step limit. on_limit="stop" raises immediately — no graceful degradation, no runaway spend. Set it once, sleep soundly.
Full execution control
Built on LangGraph — every node is observable and modifiable. Stream events via astream_events(), inject custom nodes, attach checkpointers for suspend/resume. You own the graph. No magic, no hidden complexity.
Drops into your stack
A Python library, not a Docker container or a SaaS. Import it into FastAPI, Django, or a Lambda. Connect to any MCP server — GitHub, Postgres, Slack — with zero integration code. Model-agnostic: Claude, GPT-4o, Gemini, or local.
// HOW IT WORKS
A ReAct loop, engineered for the OS.
User intent flows through the Gantry Engine, branches across desktop, browser, and local tools, then streams results asynchronously back to your UI.
// USE CASES
Browser, desktop, research — one library.
Real production patterns you can ship today.
from gantrygraph import GantryEnginefrom gantrygraph.perception import WebPagefrom gantrygraph.actions import BrowserToolsweb = WebPage(url="https://news.ycombinator.com", headless=True)agent = GantryEngine(llm=ChatAnthropic(model="claude-sonnet-4-6"),perception=web,tools=[BrowserTools(web_page=web)],)# Scrape top stories with screenshots on every stepresult = agent.run("Find the top 5 stories and their links")
// COMPARISON
How GantryGraph stacks up.
Computer Use APIs are black boxes optimized for demos. GantryGraph is a library optimized for production.
| Capability | GantryGraph | OpenHands | browser-use | Computer Use APIs |
|---|---|---|---|---|
| Integration model | Python library — drop into any service | Standalone platform / Docker | Browser-only library | Hosted API / black box |
| Scope | Full OS · browser · MCP · local fns | Coding-agent IDE | Web pages only | Screenshot + mouse only |
| Shell command firewall | ✓ | — | — | — |
| API budget kill-switch | ✓ | ~ | — | — |
| Human approval gate | ✓ | ~ | — | — |
| LangGraph-native | ✓ | — | — | — |
| Model-agnostic LLM | ✓ | ~ | ✓ | — |
| Native MCP support | ✓ | — | — | — |
| Async event streaming | ✓ | ~ | ✓ | — |
| Headless / Docker-ready | ✓ | ✓ | ✓ | ~ |
| License | MIT | MIT | MIT | Proprietary |
✓ supported · ~ partial / requires custom code · — not supported
// FAQ
Questions, answered.
Common questions from engineers evaluating GantryGraph.