When you configure an organization in Mesa, the mount field controls which of its repositories
appear in your FUSE tree. There are two modes: all and explicit.
All mode (default)
In all mode, every repository your API key can access is automatically mounted. New repos created
in the org appear in the mount tree without any config changes.
[organizations.acme-corp]
mount = "all"
This is the default — if you omit the mount field and have no repos.* sections, Mesa uses all
mode.
You can still add per-repo sections as overrides without changing the mode. For example, to pin
a specific repo to a bookmark:
[organizations.acme-corp]
mount = "all"
[organizations.acme-corp.repos.my-repo]
rev = { bookmark = "staging" }
All other repos in the org mount at their default bookmark; my-repo mounts at staging.
All mode is ideal for small-to-medium orgs where you want every repo available without
maintaining a list.
Listing repos in all mode
Running mesa repo list in all mode shows an empty list with a hint:
org 'acme-corp' mounts all repos (0 mounted)
(run `mesa repo list --all` to enumerate)
Use --all to fetch the full repo list from the API:
Limitations
mesa repo open and mesa repo close are not available in all mode — there is no explicit list
to add to or remove from. If you need to selectively mount repos, switch to explicit mode.
Explicit mode
In explicit mode, only the repos listed in your config appear in the mount tree.
[organizations.acme-corp]
mount = "explicit"
[organizations.acme-corp.repos.frontend]
[organizations.acme-corp.repos.backend]
rev = { bookmark = "dev" }
Here, only frontend and backend are mounted. All other repos in the org are invisible.
Adding and removing repos
Use mesa repo open and mesa repo close to manage the mount list without editing the config
file directly:
# Add a repo to the mount
mesa repo open my-new-repo --org acme-corp
# Remove a repo from the mount
mesa repo close old-repo --org acme-corp
These commands update config.toml and notify the running daemon.
Listing repos in explicit mode
# Show only mounted repos
mesa repo list
# Show all repos in the org with mount status
mesa repo list --all
With --all, mounted repos are marked with ● and available (unmounted) repos with ○.
Switching modes
From all to explicit
Edit your config.toml to set mount = "explicit" and add sections for the repos you want:
[organizations.acme-corp]
mount = "explicit"
[organizations.acme-corp.repos.my-repo]
Restart the daemon (Ctrl+C and mesa mount again, or mesa mount --daemonize) for the change
to take effect.
From explicit to all
Remove the mount field (or set it to "all") and optionally remove the repos.* sections:
[organizations.acme-corp]
mount = "all"
If you remove both the mount field and all repos.* sections, Mesa implicitly defaults to all
mode. If you want to keep repo sections as overrides in all mode, set mount = "all" explicitly
to avoid ambiguity.
Implicit resolution
When the mount field is absent, Mesa infers the mode from whether repos.* sections exist:
mount field | repos.* sections | Resolved mode |
|---|
| absent | none | all |
| absent | present | explicit |
"all" | any | all |
"explicit" | any | explicit |
During onboarding
When you run mesa mount for the first time, the interactive wizard asks how you want to mount
repos:
- All repos — sets
mount = "all" (every repo in the org is mounted)
- Select specific repos — lets you pick repos from a list and sets
mount = "explicit"
If the org has no repos yet, the wizard defaults to all mode so that repos created later are
automatically mounted.