Arcana ARCANA

Workspace Trust

Workspace trust is a security feature that prevents untrusted project code from executing automatically. When you open a repository that contains project plugins, tools, or local MCP servers, Arcana requires explicit trust before loading that code.

Why Workspace Trust?

Projects can include:

  • Project plugins — JavaScript/TypeScript modules that extend Arcana
  • Project tools — Custom tools available to the agent
  • Local MCP servers — Model Context Protocol servers defined in the project

These can execute arbitrary code on your machine. Workspace trust ensures you explicitly approve each project before Arcana runs its code.

Trusting a Workspace

In the project directory, run:

arcana trust

This records a fingerprint of the workspace (based on the git remote URL and current branch) in ~/.arcana/data/workspace-trust.json. Arcana will then load project plugins, tools, and MCP servers from that workspace.

How It Works

  1. Fingerprinting — When you run arcana trust, Arcana records the git remote URL and branch as a trusted fingerprint.
  2. Verification — On subsequent sessions in that workspace, Arcana checks if the current workspace matches a trusted fingerprint.
  3. Blocking — If the workspace is not trusted, project plugins, tools, and local MCP are disabled.

Environment Variables

Env varDescription
ARCANA_DISABLE_WORKSPACE_TRUST=1Skip trust checks (development only)
ARCANA_TRUST_WORKSPACE=1Force-trust for CI environments

Trust Data

Trust fingerprints are stored in:

~/.arcana/data/workspace-trust.json

You can manually edit this file to remove trusted workspaces, or use the CLI:

# View trusted workspaces
arcana trust --list

# Remove trust for current workspace
arcana trust --remove

Best Practices

  • Only trust repositories you control — Don't trust random repos you clone.
  • Review before trusting — Check what plugins/tools/MCP servers the project defines before running arcana trust.
  • Use CI trust for automation — Set ARCANA_TRUST_WORKSPACE=1 in CI pipelines where you need project plugins.
  • Keep trust scoped — Trust is per-branch by default. Different branches of the same repo require separate trust.
Last updated: Jul 23, 2026