Extensions

Optional extensions maintained alongside Crystal Code. Each one lives in its own repository and is installed separately.

Official plugins

In-process extensions that add behavior beside the host.

PluginCrystalCode.Plugins.Computer

Computer

Let the agent see and control a running VirtualBox VM through a display, keyboard, pointer, and one guest process.

  • Screen capture and pointer input
  • Keyboard shortcuts and text
  • One guest process
View source

Official tool sets

Standalone tools with their own directory, approval policy, and timeouts.

Tool setCrystalCode.Tools.Web

Web

Search the live web and fetch pages, with Parallel as the default search backend and several other backends available.

  • Web search
  • Page fetch
  • Bounded output
View source
Tool setCrystalCode.Tools.ApplyPatch

Apply Patch

Apply one verified multi-file patch inside the workspace, with paths checked before any file changes.

  • Add, update, and delete files
  • Verify before applying
  • Workspace fence
View source
Tool setCrystalCode.Tools.Memory

Memory

Keep durable notes across sessions, split into global and opt-in project scopes, with atomic writes and no model-chosen paths.

  • Global and project notes
  • Atomic writes
  • Prompt attachment
View source

How to install

Clone the extension repository, then ask Crystal Code or another coding agent to install it. Point the agent at the checkout and the target directory.

  1. 1.

    Clone the repository

    Clone the official extension repository.

  2. 2.

    Ask an agent to install it

    Give the agent the checkout and the directory where it should be installed.

Ask Crystal Code
Tool setInstall this checkout into ~/.crystal/tools/web and enable it.
PluginInstall this checkout into ~/.crystal/plugins/computer and enable it.

Tool sets go under ~/.crystal/tools/<name>. Plugins go under ~/.crystal/plugins/<name>. The agent can clone, publish, and enable the extension for you.

Built-in tools are not listed here. To build your own plugin or tool set, see Extend.