# Cowork Studio > Build apps for Cowork Studio: widgets that use the window.cowork SDK, routines that run on the Cowork daemon, the cowork.json manifest, and the cowork CLI. Cowork Studio is a VS Code-based IDE whose workspaces carry their own apps: folders `.cowork/apps//` with a `cowork.json` manifest, React `.jsx` widgets that call the `window.cowork` SDK, and `.ts` routines run by the local Cowork daemon (secrets, files, OAuth APIs). The guides explain the patterns; the reference pages are generated from the shipped types, the cowork.json and workspace.json schemas, the CLI usage table and the extension commands. Every page is also plain markdown at its URL + `.md`. ## Guides - [Building Cowork apps](https://cowork-landing-s9uesd.pages.dev/docs/guides/building-apps.md): Cowork Studio is an IDE (VS Code-based) where a workspace can carry its own apps. - [cowork.json — the app manifest (full reference)](https://cowork-landing-s9uesd.pages.dev/docs/guides/manifest.md): A folder .cowork/apps// containing a cowork.json is a Cowork app. - [Widgets (.jsx / .tsx) and the window.cowork SDK](https://cowork-landing-s9uesd.pages.dev/docs/guides/widgets-and-sdk.md): Types for everything below are scaffolded into .cowork/local/cowork.d.ts in a Cowork workspace (ambient — nothing to import). - [Routines (.ts) — the privileged half of an app](https://cowork-landing-s9uesd.pages.dev/docs/guides/routines.md): A routine is a .ts (or .js / .mjs) file whose default export is called with (args, ctx). - [Permissions — agents and grants](https://cowork-landing-s9uesd.pages.dev/docs/guides/permissions.md): An agent (Claude Code, Codex, any MCP client) reaches a workspace's capabilities through one door on the Cowork daemon, signed in with its own login. - [Publish, install, update, pin, remove — and the audit log](https://cowork-landing-s9uesd.pages.dev/docs/guides/publish-and-install.md): Apps are shared through a team server: members + a store. - [Courses — markdown files](https://cowork-landing-s9uesd.pages.dev/docs/guides/courses.md): A course is course.md plus the lessons it lists: people and agents write them as files, the team server publishes the course, and subscribers take it in the Academy (lessons in order, video on top, progress kept). ## Reference - [cowork.json reference](https://cowork-landing-s9uesd.pages.dev/docs/reference/cowork-json.md): Every field of an app's manifest, generated from cowork.schema.json — the schema the editor validates cowork.json against. - [workspace.json reference](https://cowork-landing-s9uesd.pages.dev/docs/reference/workspace-json.md): Every key of a workspace's .cowork/workspace.json, generated from workspace.schema.json — the schema the editor validates it against. - [CLI reference](https://cowork-landing-s9uesd.pages.dev/docs/reference/cli.md): Every cowork command, generated from the CLI's usage table — every command and group verb that `cowork --help` and `cowork --help` print. - [VS Code commands reference](https://cowork-landing-s9uesd.pages.dev/docs/reference/commands.md): The VS Code commands Cowork's extensions contribute, and which of them cowork command may run. ## SDK types (window.cowork in widgets, ctx in routines) - [CoworkSdk](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworksdk.md): window.cowork (also the global cowork): everything an app's widget can call — its routines, dialogs, connections, notifications, capture, its own state and panes. - [CoworkRoutineContext](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkroutinecontext.md): The context a routine's default export receives: export default async (args, ctx: CoworkRoutineContext) => result. - [CoworkIdentity](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkidentity.md): Who is signed in, and the organization they belong to. - [CoworkConnection](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkconnection.md): How a capability reaches its service — a sign-in, a pasted key, or either — named after the service it signs in to (google, shared by every Google capability) or after the capability. - [CoworkTaskStatus](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/type-aliases/coworktaskstatus.md) - [CoworkTaskView](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/type-aliases/coworktaskview.md): The Tasks view's views: Needs you (needs review, or to do for the owner), each status, all. - [CoworkQueueFile](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkqueuefile.md): path is workspace-relative, absPath absolute. - [CoworkQueueFileInput](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/type-aliases/coworkqueuefileinput.md) - [CoworkQueueEntry](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkqueueentry.md): One card of a task's thread after its request; to null is a note to nobody. - [CoworkQueueTask](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkqueuetask.md): A task. - [CoworkQueueInfo](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkqueueinfo.md) - [CoworkQueueReceiver](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkqueuereceiver.md): An agent seen taking tasks (listening: within the last 10 minutes). - [CoworkJournalEntry](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkjournalentry.md) - [CoworkNotification](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworknotification.md): A notification an app raised (cowork.notify in a widget, ctx.notify in a routine): what cowork.onNotification hands a widget, and the args of a routine started by its notifications trigger (deployments in .cowork/workspace.json). - [CoworkStatusBarItem](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkstatusbaritem.md): An app's item in the footer (status bar). - [CoworkOpenedFile](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkopenedfile.md) - [CoworkRoutineRun](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkroutinerun.md): One run in cowork.routines.runs — metadata only, never the routine's output. - [CoworkCaptureSession](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkcapturesession.md): A recording in progress (cowork.capture.record). - [CoworkCaptureResult](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkcaptureresult.md) - [CoworkDialog](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkdialog.md): A dialog (cowork.ui.dialog): a question, a choice or a short form. - [CoworkDialogField](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkdialogfield.md): One field of a {@link CoworkDialog}. - [CoworkDialogOption](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkdialogoption.md): A select choice or a color swatch: value is what values[id] gets, label what the person sees (a swatch's accessible name). - [CoworkDialogButton](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkdialogbutton.md): A {@link CoworkDialog} button. - [CoworkDbQueryResult](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkdbqueryresult.md): What ctx.db(path).query() returns: the column names and each row's values in that order. - [CoworkDbExecResult](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkdbexecresult.md): What ctx.db(path).exec() returns: the rows the statement changed and the last inserted rowid. - [CoworkDeployedRoutineContext](https://cowork-landing-s9uesd.pages.dev/docs/reference/sdk/interfaces/coworkdeployedroutinecontext.md): The context a DEPLOYED routine receives (cowork deploy — it runs on a server, not on this computer): a subset of {@link CoworkRoutineContext}. ## Documentation Sets - [Abridged documentation](https://cowork-landing-s9uesd.pages.dev/docs/llms-small.txt): a compact version of the documentation for Cowork Studio, with non-essential content removed - [Complete documentation](https://cowork-landing-s9uesd.pages.dev/docs/llms-full.txt): the full documentation for Cowork Studio ## Notes - The complete documentation includes all content from the official documentation - The content is automatically generated from the same source as the official documentation