Skip to main content

Morph EFS CLI

The EFS client installs into the Morph CLI as morphcloud efs.

morphcloud efs --help

Use the CLI for scripted EFS workflows. Use the dashboard for the browser view and the TUI for the terminal workflow.

The CLI requests filesystem lifecycle operations and mounts from EFS. EFS handles the setup needed to provide a filesystem path on this machine.

Install and authenticate

In Morph-managed environments, private package access is preconfigured. On an equivalent external host, package access must already be configured before install. Authenticate once with your Morph API key, install the EFS client, then set the active Morph profile:

export MORPH_API_KEY="morph_your_api_key"
uv auth login https://simple-index.svc.cloud.morph.so --token "$MORPH_API_KEY"
uv tool install morphcloud-efs-client
morphcloud profile set default --api-key "$MORPH_API_KEY"
morphcloud profile use default

Upgrade the installed EFS client with:

uv tool upgrade morphcloud-efs-client

uv tool install morphcloud-efs-client does not check for EFS updates after the tool is already installed. Morph EFS update notices appear from interactive morphcloud efs commands when a newer client is available. Notices are advisory only, shown at most once per day, and are never printed for --json commands.

Filesystem commands

Create or reuse a filesystem by name:

morphcloud efs create shared-files
morphcloud efs create shared-files --ttl 1800

List filesystems visible to the current profile:

morphcloud efs ls
morphcloud efs list

Inspect one filesystem by name or id:

morphcloud efs get shared-files
morphcloud efs inspect shared-files

Delete a filesystem:

morphcloud efs delete shared-files
morphcloud efs delete shared-files --yes

Without --yes, the CLI asks for confirmation before deleting.

Mount commands

Mount at the default path:

morphcloud efs mount shared-files

morphcloud efs mount <filesystem> asks EFS to mount the filesystem on this machine. The command returns when the mount path is ready.

By default, the mount path is ~/morph-efs/<filesystem>.

Mount at an explicit path:

morphcloud efs mount shared-files /tmp/shared-files

You can also pass the mount path with --filepath or --path:

morphcloud efs mount shared-files --filepath /tmp/shared-files

Set a mount TTL when the mount should be temporary:

morphcloud efs mount shared-files --ttl 1800

Preview the resolved mount request without starting a mount:

morphcloud efs mount shared-files --dry-run

Unmount by filesystem name or id. This ends the active mount:

morphcloud efs unmount shared-files

If you write data and need to verify it immediately, run sync before reading from another process or before unmounting:

echo hello > ~/morph-efs/shared-files/test.txt
sync
cat ~/morph-efs/shared-files/test.txt

Usage

Show sampled usage for one filesystem:

morphcloud efs usage shared-files

The output includes usage status, active mount count, sampled bytes used, estimated monthly cost when available, and the sample time.

TUI

Launch the interactive EFS experience:

morphcloud efs tui

Open a specific filesystem:

morphcloud efs tui shared-files

If exactly one ready filesystem is visible, morphcloud efs tui can open it directly. If multiple ready filesystems are visible, pass the name explicitly.

Dashboard

Open the browser dashboard for your current Morph context:

morphcloud efs dashboard

Open a specific filesystem:

morphcloud efs dashboard shared-files

Use the filesystem-focused alias when you want the same view by name:

morphcloud efs open shared-files

Print the dashboard URL without launching a browser:

morphcloud efs dashboard shared-files --no-open

Use JSON output for automation:

morphcloud efs dashboard shared-files --json

The dashboard command uses your current Morph profile to create a temporary browser link. It does not put your Morph API key in the browser URL.

JSON output

The main resource commands support --json for automation:

morphcloud efs create shared-files --json
morphcloud efs ls --json
morphcloud efs get shared-files --json
morphcloud efs mount shared-files --json
morphcloud efs usage shared-files --json
morphcloud efs unmount shared-files --json
morphcloud efs delete shared-files --yes --json
morphcloud efs dashboard shared-files --json