Features › Extensions

Extensions that run in a sandbox

Extensions are written in TypeScript or Swift. A TypeScript one runs in its own sandboxed worker and can reach only what its manifest asked for and you approved. Switchboard’s own tools use the same extension points, and the gallery is open source. Unsigned extensions install only in Develop mode, so you meet that switch the first time you write one.

Coming soon See pricing

What it does

  1. You want actions that call Linear’s API.

    The extension declares one network host, api.linear.app, and you see it as a check row before you install. A call to any other host fails with “permission denied” and never leaves the sandbox.

  2. You describe an extension in a sentence: “An action that counts the words on the clipboard and shows a HUD”.

    Claude writes a TypeScript extension against the SDK. Switchboard compiles it, checks it and runs its test before you see it. Then it shows the files and the permissions in words, with Try it and Install in Develop mode.

  3. An extension has tools for agents.

    An agent sees none of them until you turn each one on. A tool that changes something asks for your approval every time; only a tool its author marked read-only runs without asking.

  4. You are writing one and want to see it change.

    switchboard ext dev <folder> loads it into the running engine, rebuilds on every save, hot-reloads it and streams its log.

  5. An extension hangs.

    A call that takes more than five seconds without answering is killed and the extension restarts. Memory is capped. The code has no file system, network, shell or eval of its own.

How it works

  1. Copy the hello template from the SDK, install @switchboard/sdk and give your extension a reverse-DNS id.
  2. List what it adds (actions, triggers, conditions, functions, palette rows, sensors) and what it may touch in switchboard.json.
  3. Load it with switchboard ext dev. Unsigned extensions install only in Develop mode.

In the gallery

Write your own extension

Read the docs