Key takeaways
- Agent Studio combines Git-based definitions with shared execution, schedules, per-user connections, audit records, and a human review inbox.
- PR authoring is the default, YOLO direct commits are optional, and promotion to a stable version is a separate control.
- The MIT project runs without a Tembo account; optional Tembo-assisted authoring, external models, tools, and infrastructure have separate costs and data flows.
- SMS and managed Tembo Memory are present on the inspected September development branch but absent from the latest published v2026.9.2 release.
FAQ
What is Tembo Agent Studio?
An MIT-licensed platform for running shared team agents on your infrastructure, with definitions in Git and runtime state in Postgres. It supports Pydantic AgentSpec and Cargo AI definitions, with many advanced controls documented for the Pydantic path.
Does every agent change require a pull request?
No. Tembo-assisted authoring defaults to Always PR, but an admin can enable YOLO direct commits; manually maintained definitions are also supported. Promotion and optional evaluation gates are separate from Git review.
Does self-hosting keep all agent data inside the deployment?
No. The control plane and database run on your infrastructure, but configured model providers, tools, GitHub, and optional Tembo services receive the data needed for their work. Local tools and skills also require trusted code and deployment permissions.
Is a paid Tembo account required?
No Tembo account is required to run hand-written agent definitions. The optional natural-language authoring and improvement workflow uses a personal Tembo API key or workspace fallback, billed separately from the MIT software and your runtime costs.
Executive Summary
Tembo Agent Studio is a self-hosted control plane for shared AI agents. It keeps agent definitions in Git, exposes them through a web workspace, and connects execution to schedules, external events, human review, and an audit trail. The project is MIT-licensed; teams can maintain definitions themselves without using Tembo's commercial authoring service.[1][2][3] It belongs in the team agent platforms comparison, especially for engineering-led teams that want to operate and version their own automations.
The useful distinction is between definition review, stable promotion, and approval of a real-world action. Agent Studio provides mechanisms for all three, but none implies that every change or tool call requires human approval. Tembo-assisted authoring defaults to a PR; admins can enable direct commits. Stable snapshots are promoted separately, and the Tasks Inbox supports explicit review workflows that agents must actually use.[4][5][6]
Disclosure: Ry Walker is Tembo's co-founder and CEO. This profile covers both its open-source project and the optional relationship with its commercial platform.
| Attribute | Verified position on September 16, 2026 |
|---|---|
| Maintainer and license | Tembo; MIT software license, with separate terms for external services[2] |
| Deployment | Next.js web app, Rust API, Postgres; Docker Compose and documented cloud deployment paths[1] |
| Agent definitions | Pydantic AgentSpec and Cargo AI; do not assume every Pydantic feature exists in Cargo AI[1][7] |
| Latest published release | v2026.9.2, published September 3, 2026[8] |
| Development boundary | This review also inspects commit 9598735; SMS and managed Tembo Memory were added after that release[9] |
Product Overview
An agent is a repository-backed specification with instructions, a model, and declared connections and tools. Pydantic definitions can include a sibling Python module, selected skills, delivery expectations, and an optional evaluation file. The studio adds an operating surface around those files: teammates run agents, inspect results and costs, configure automations, and propose improvements.[10][11][7]
Definitions, authoring, and promotion
There are two authoring paths. Engineers can commit specifications directly. With a Tembo API key configured, a teammate can instead describe an agent or request an improvement from a run; Tembo's coding agent platform changes the connected repository. Each member can use a personal key, with a workspace key as fallback. Repository authorization in Tembo is also required for that integration.[5][3]
Always PR is the default for assisted authoring. YOLO commits directly to the default branch when enabled by an administrator, and the setting change is audited. It does not bypass GitHub branch protection. Other operations, including manually committed definitions and configured guidance synchronization, are further reasons not to describe the system as universally PR-gated.[4][3]
The live default-branch definition is draft. An owner or administrator can promote a numbered stable snapshot stored in the database. Before the first promotion, all runs use draft. After promotion, automated runs normally use stable, while a manual run defaults to a changed draft; a schedule can explicitly select draft. Teams therefore need a promotion policy as well as a Git review policy.[5]
Optional evaluation sidecars make promotion more concrete. Assertions such as expected text, regular expressions, or output length must pass on the current draft before promotion. The LLM judge is informational: a judge failure does not fail the gate. Agents without an evaluation file remain ungated, and a GitHub-required check needs repository configuration beyond the studio's optional commit status.[11]
Product surfaces and triggers
| Surface | What it enables | Practical boundary |
|---|---|---|
| Web workspace and API | Start runs, inspect history, manage agents and automations | Authorization depends on workspace role[12][7] |
| Schedules and external events | Cron jobs, Composio events, external webhook dispatch | Schedules use their owner's identity; public webhooks use a bearer token and queue work rather than returning the completed answer[13] |
| Slack apps | Slash commands, mentions, DMs, and agent selection within an admin-defined scope | A matching member identity is used when available; a configured default owner can be the fallback[14] |
| MCP server | Authorized clients inspect Studio and trigger supported actions | Workspace-bound OAuth or API keys; write scope alone does not override a read-only role[15] |
| Twilio SMS, current main | Linked members text an agent through a workspace number | Absent from the latest release tag; requires Twilio setup, signed inbound requests, and phone linking[16][9] |
These entry points are distinct from tool connections. Connecting an agent to Gmail or Notion gives it tools; it does not automatically create a chat surface in that application.[17]
A practical review workflow
A useful deployment pattern is an inbox assistant that reads incoming requests, drafts a response, and asks a teammate to approve delivery. This is a documented-component example, not a hands-on benchmark:
- Define the agent's job and restrict its declared connection tools. Add a delivery contract identifying the expected inbox item or tool result, plus a small regression suite for the output that matters.[10][11]
- Test the draft against representative inputs, review its definition, and promote it. Select stable explicitly for the production schedule if that is the team's policy.[5][13]
- Have the agent call
produce_inbox_itemwith context, an editable draft, and action options. The reviewer edits and approves the proposed action; the eventual action uses the reviewer's connections.[6] - Inspect run status and delivery evidence, then turn useful corrections into a proposed agent improvement. Review and test that definition change before the next promotion.[10][4]
The inbox deduplicates items using their source and external reference. Dismissing an item is terminal; deleting it permits a future item with that identity to appear again. These details matter for recurring triage. The inbox does not automatically intercept every other write-capable tool an agent has been granted.[6][17]
Technical Architecture
The TypeScript/Next.js web application fronts a Rust API and Postgres database. Definitions live in a connected GitHub repository; run records, settings, connections, and stable snapshots have database state. Self-hosting therefore requires operating both the application and its persisted data, rather than backing up only the agent repository.[1][5][3]
The documented Docker paths use source builds or prebuilt GHCR images; Railway, AWS, and Vercel guides cover additional deployments. The development bootstrap can create local email/password credentials when no OAuth provider is configured. Production teams can configure Google, Microsoft Entra ID, or generic OIDC instead. A reproducible deployment should pin a release and review migrations rather than silently inherit current-main capabilities.[1][8]
Connections, custom tools, skills, and MCP
Studio exposes workspace model-key configuration for Anthropic and OpenAI. Tools come through native MCP connections, Composio, or custom sidecar code. For ordinary runs, the acting identity determines the connection: a manual caller, schedule owner, or trigger owner. Personal secrets take precedence over workspace fallback values; these are operational credentials, not automatically a model prompt.[3][17]
A sibling Python module can export typed callable tools for tasks such as deterministic parsing or an internal API request. Its helper APIs can access authorized connections and secrets. Additional Python dependencies belong in the runtime image's requirements and require a rebuild; a specification is not an unrestricted package installer.[18]
Skills live under skills/<name>/SKILL.md, with instructions, scripts, and resources, and agents opt into selected skills. Import paths include GitHub, ZIP uploads, skills.sh, and Anthropic's skill ecosystem. The documented Pydantic runtime can load skill resources and execute scripts locally. Sharing a skill format does not make imported code trusted or change its license.[19]
MCP works in both directions: agents consume external tool servers, while external clients use Studio's own server to inspect and operate the workspace. The latter implements OAuth with PKCE and workspace-scoped authorization, with role checks in addition to granted scopes. This gives another authoring or control surface without making every connected client an administrator.[15]
Execution, recovery, and observability
Run records expose status, model usage, estimated dollar cost, tool names, and success or failure. Delivery contracts can distinguish producing a reply from actually calling the declared delivery tool. Raw tool arguments and results are deliberately not persisted as delivery evidence because they can contain sensitive data.[7][10]
The Pydantic path checkpoints after model and tool nodes. Following a restart, completed nodes need not replay, but a tool that was in flight when the process died can execute again. External writes still need provider-side idempotency or another deduplication design. Scheduled dispatch also has durable history and retry behavior; that does not make a failed third-party dependency disappear.[7][13]
Dry Run is narrowly scoped. It stubs declared delivery tools; other tools can still perform writes. Unsupported paths, including Cargo AI and certain tool-router configurations, are rejected rather than silently pretending to be read-only. Treat it as a delivery rehearsal, not a universal no-side-effects mode.[7]
Optional Memory on the development branch
The inspected main branch adds a managed connection to a separate Tembo Memory service. An instance admin configures its endpoint and controller token; Pydantic agents then receive ask, search, entity, card, and report tools. Cargo AI is unchanged. This integration is not present in v2026.9.2.[17][9]
The server obtains short-lived agent credentials without passing the Memory administrator token to the subprocess. A dedicated Memory workspace is the default; an instance administrator can deliberately map multiple Studio workspaces to shared knowledge. That sharing decision changes the information boundary and should be reviewed explicitly.[17]
Reports first enter an encrypted Postgres outbox and retry delivery across restarts. A queued receipt is not proof that extracted knowledge is already queryable. Reads report unavailability on an outage; dry runs may read but do not enqueue new reports. Routine prompts and outputs are not automatically copied into Memory. The behavior depends on deploying a compatible Memory service and the newer Studio code.[17]
Security and Governance Boundaries
| Control | What is supported | What it does not establish |
|---|---|---|
| Workspace roles | Admin, operator, and viewer checks enforced through the API | A role name does not limit the external privileges of credentials granted to a run[12][17] |
| Audit timeline | Append-only application records and JSON export | This is not evidence of a tamper-proof store against the database operator or independent compliance certification[12] |
| Encrypted credentials | AES-256-GCM encryption at rest; masked settings UI | Runtime services must decrypt credentials to use them; authorized local tool code can receive secrets[20][3][18] |
| Local execution | Pydantic Python subprocess with an explicitly constructed environment | The inspected launcher does not establish a separate per-run VM or a security boundary for hostile skills and sidecars[21][19] |
| Self-hosted control plane | Operator-controlled deployment and database | GitHub, configured models, connected APIs, and optional Tembo services still receive relevant requests and data[1][17][3] |
Repository write access, tool selection, secret scope, network access, and infrastructure administration remain consequential permissions. An MIT license and local deployment do not by themselves satisfy a data-residency policy. Teams should assess the entire configured path, including optional compression: ScaleDown sends selected context to an external compression service when enabled.[18][10]
Strengths and Cautions
Strengths: definition files are inspectable and portable; stable snapshots separate deployment decisions from editing; optional assertion suites add a concrete regression gate; per-user connections and the review inbox support accountable team workflows. The MIT control plane can run independently of Tembo-assisted authoring.[5][11][6][3][2]
Cautions: these controls require configuration and trusted runtime code. Feature parity varies by agent framework. Documentation and main can lead the published release. Estimated run costs are useful visibility, but the open request for administrator-controlled per-user spend caps should not be described as an available budget-enforcement feature.[7][9][22]
What Developers Say
The September 16 search of public web, Hacker News, Reddit, and repository issues did not establish an independent first-hand deployment review. That limits conclusions about production reliability; it is not evidence that nobody uses the product.
There is useful operational evidence in the public issue tracker. On September 8, GitHub member kevine824-alt reported a deployment with many automations failing to access agents; the same-day resolution identified an expired GitHub token. This is a specific, affiliated report illustrating a repository-credential dependency, not a measured incident rate or unresolved system-wide outage.[23]
On September 12, the same member filed the still-open request for per-user spend caps, explaining why editable agent-level limits did not satisfy that team's administrative requirement. It documents demand and a gap as of this review; it does not establish when or whether that proposal will ship.[22]
Pricing & Licensing
| Component | Cost model | Decision implication |
|---|---|---|
| Agent Studio software | MIT; no software license fee | Preserve the license notice; operating the software is still your responsibility[2] |
| Runtime and storage | Your hosting, database, backups, and operational work | Size for concurrency and retained run data, not just agent-file count[1][7] |
| Models and integrations | Provider API usage and any selected service subscriptions | Model tokens, external tools, and optional services are distinct expenses[3][17] |
| Optional Tembo authoring | Separate Tembo account and usage allowance | Applies to assisted coding sessions; it is not an Agent Studio seat license[3][24] |
| SMS on current main | Twilio number and messaging charges | A request can generate acknowledgement and result messages, with additional carrier segmentation[16] |
As checked September 16, the separate Tembo platform lists Free with a $10 one-time usage allowance, Pro at $60/month with a $60 monthly allowance, and Max at $200/month with a $200 allowance. Allowances cover gateway model usage and VM compute; using external inference credentials can still leave compute charges. These are optional authoring-platform economics, not the price of running hand-written Studio agents.[24]
No hosted Agent Studio service price was established in the repository and product sources reviewed. That is a research limit, not a claim that Tembo offers no deployment assistance. Imported skills, model providers, and integration services also retain their own terms.[3][19][2]
Competitive Positioning
| Alternative | Useful distinction |
|---|---|
| Spacebot | A team agent harness with persistent memory, concurrent conversations, and broader documented messaging adapters, offered as hosted or self-hosted deployments. Its FSL license differs from Studio's MIT license. Choose based on conversational autonomy versus the specific Git-definition and promotion workflow, not an assumption that only one has governance.[25][2][5] |
| Runbear | A hosted shared-agent product emphasizing Slack and Teams, per-user authorization, reviewed actions, and no-code setup. It also advertises an MCP authoring preview. The tradeoff is operating Studio's stack and repo workflow versus buying that hosted experience; hosted does not mean approval controls are absent.[26] |
| Tembo coding agent platform | An adjacent execution and authoring platform for coding work across repositories. Studio can use it to create or improve agent definitions, but Studio's own team-agent runtime and MIT license are separate. Use Tembo directly for coding tasks; add Studio when the deliverable is an operated fleet of general-purpose agents.[27][3] |
Studio is a strong candidate when a team has an infrastructure owner, wants inspectable definitions, and will actively manage model and tool permissions, tests, promotion, and credential lifecycle. It is a weaker fit when the priority is a managed service with minimal operations, a specific messaging adapter outside the verified surfaces, or execution of untrusted agent code without designing additional containment.
Viability Assessment
Published September releases and the inspected later commit establish active implementation, not a reliability guarantee. The public tracker provides evidence of real operational requirements, while independent deployment evidence remains limited in this review. Star counts and release volume are not useful substitutes for that missing evaluation.[8][9][23][22]
A sensible pilot is one bounded, reviewable workflow: pin a version, exercise failures and recovery, check who can authorize an action, measure external costs, and test credential expiry before expanding the fleet. The project's most defensible value is the combination of inspectable definitions and team operating controls; its suitability depends on how those controls are configured and run.
Research by Ry Walker • methodology
Sources
- [1] Tembo Agent Studio repository
- [2] Agent Studio MIT license
- [3] Agent Studio settings and optional Tembo authoring
- [4] Agent improvements, PR mode, and YOLO mode
- [5] Agent lifecycle and promotion
- [6] Tasks Inbox review and action workflow
- [7] Runs, dry runs, checkpoints, and recovery
- [8] Agent Studio published releases
- [9] Changes from v2026.9.2 to the inspected September 14 commit
- [10] Authoring agents and declaring delivery evidence
- [11] Optional agent evaluation suites
- [12] Audit timeline and workspace roles
- [13] Schedules and event-triggered agents
- [14] Slack apps, routing, and acting-user fallback
- [15] Agent Studio MCP server and authorization
- [16] Current-main Twilio text message surface
- [17] Connection identity, secrets, and current-main Memory integration
- [18] Sidecar Python tools and credential access
- [19] Agent Skills import and execution
- [20] Credential encryption implementation
- [21] Pydantic subprocess runner implementation
- [22] Open request for admin-controlled per-user spend caps
- [23] Member-reported automation incident and expired-token resolution
- [24] Tembo platform plans and usage billing
- [25] Spacebot architecture, channels, deployment, and license
- [26] Runbear shared agents and hosted workflow
- [27] Tembo coding agent platform