Studio 3.0 adds a publishing step between editing a component and serving it. create_* now writes a private DRAFT that serves no one until you call publish_component, and published versions are immutable, with rollback, archive, and restore behind them.
Previously, a create or an edit in a shared Studio went live immediately, and two people working on the same component could overwrite each other. Now compare-and-set guards reject a stale write with a typed 409 instead of clobbering a change, and deletes are tombstoned with dependent-tracking so you do not remove a component that another one relies on.
Every StudioTools call returns a machine-readable envelope with ok, status, data, error, and warnings across its roughly 31 tools, so an agent driving the Studio can tell a success from a failure and read why something was refused.
Mount it on the component that manages your catalog:
from agno.agent import Agent
from agno.tools.studio import StudioTools
agent = Agent(tools=[StudioTools()])View the docs.



