Install to a shared directory
Put the skills store somewhere other than your home directory — for example a directory shared between several accounts or projects.
🔧 Prerequisites
- The
ezaicommand is available (Get started) - The target directory already exists;
ezaiwill not create it - Write access to that directory
📝 Steps
If the directory is inside your home directory or inside the directory you are running the command from,
--destis enough:bashezai install --dest ~/workspaces/sharedFor any other location, name its absolute path in
EZAI_ALLOWED_DEST_ROOTin the same command:bashEZAI_ALLOWED_DEST_ROOT=/opt/shared/ai-tools ezai install --dest /opt/shared/ai-toolsPass the same
--dest— and the sameEZAI_ALLOWED_DEST_ROOTwhen it is needed — touninstallandpurge, or they will look in the default location instead:bashEZAI_ALLOWED_DEST_ROOT=/opt/shared/ai-tools ezai uninstall --dest /opt/shared/ai-tools
✅ Result
The skills are installed into <dest>/.agents/skills/<skill-name>/.
The Claude Code link is not moved: it is still created under your home directory, in ~/.claude/skills/, pointing at the new location.
An agent finds a custom store automatically only when <dest> is the directory you are working in or one of its ancestors: Codex, Vibe and Kimi Code also look for a project-scope .agents/skills/ next to your code, which is what a store under <dest> becomes. An unrelated path such as /opt/shared/ai-tools is outside the places any of them look, so there the store has to stay in its default home location.
--dest is deliberately restricted
ezai deletes and recreates directories under --dest, so a typo must not be able to write anywhere on the disk. The path is rejected unless it sits inside your home directory, your current directory, or the absolute root you named in EZAI_ALLOWED_DEST_ROOT. A .agents entry that is a link pointing out of the allowed root is rejected as well.
If the path is refused, see Troubleshooting.