Docs/Tools

Tool profiles

A gray.yml profile picks which built-in tool sets and sidecar plugins load, and in what order.

Source: crates/gray-plugin/src/profile.rs

With no profile, Gray loads tools-minimal — just bash — plus the context-only skills plugin. Drop a gray.yml in the working directory to choose differently. Entries load in order; when two define the same tool, the later one wins.

gray.yml
plugins:
- builtin: tools-basic
- tools-search # bare names are builtins
- sidecar: ~/.gray/plugins/my-tools # path to an executable
- sidecar: [npx, -y, my-tools] # or an argv list
BuiltinTools
tools-minimalbash, with background jobs — the default
tools-basicread, write, edit, bash
tools-searchgrep, find, ls

Skills are appended after whatever the profile lists, so a bash-only profile still sees them. A missing, unreadable or empty profile falls back to the defaults with a warning. Installed plugins come from ~/.gray/plugins/lock.json, with a per-project overlay at .gray/plugins.json.

bash
$gray --dump-manifest # print the merged plugin manifest as JSON and exit

Join the Discord

Chat with the people building and running Gray. Show what you made with it.

Join Discord →

Need help?

Open an issue on GitHub, run /feedback from the REPL, or ask in Discord.

Open an issue →