Skip to main content
Mesa uses FUSE (Filesystem in Userspace) to mount your repositories as local directories. This means any tool that works with files — editors, language servers, build systems, agents — can read and write repository contents through normal filesystem operations. This page covers what you need to know to get FUSE working in your environment. For installing the Mesa CLI and configuring your repos, see Mesa Overview.

Platform support

Mesa FUSE works on macOS and Linux. On macOS, Mesa requires macFUSE. Follow the official macFUSE guide to install it, including: On Linux, Mesa uses FUSE3 via libfuse3. Most full Linux distributions include this by default.
If you don’t need a full filesystem mount — for example, if your agent just needs to run shell commands against a repo — consider just-bash instead, which works without FUSE.

allow_other and user_allow_other

Mesa mounts with the FUSE allow_other option so that other processes — like your agent, editors, and language servers — can access the mounted filesystem. Without this, only the process that ran mesa mount would be able to read the files. On Linux, this requires user_allow_other to be enabled in /etc/fuse.conf. Uncomment or add the following line:
user_allow_other
If this is not set, mesa mount will fail with a permission error.
If your environment runs as root (common in some CI and container setups), allow_other works without this setting. But if you’re running as a non-root user — which is the default in most sandbox providers like Daytona — you’ll need to ensure this is configured.

Running in Docker and containers

Slim and minimal base images (like node:22-slim or debian:bookworm-slim) strip out system libraries that Mesa needs at runtime. Install them explicitly:
RUN apt-get update && apt-get install -y --no-install-recommends \
    ca-certificates \
    fuse3 \
    libssl3 \
    openssl \
    && rm -rf /var/lib/apt/lists/* \
    && update-ca-certificates
  • ca-certificates + openssl — TLS certificate store, required for connections to Mesa’s API.
  • libssl3 — OpenSSL shared library, used for TLS.
  • fuse3 — Userspace FUSE library.
If you skip these packages on a slim image, connections to Mesa’s API will fail with errors like gRPC TLS configuration failed: transport error.
The same dependencies apply to sandbox environments (Daytona, E2B, etc.) — see Working with Sandboxes for provider-specific setup.