Skip to main content

Installation

Install Mirage:
If you are not using uv:
For VFS types with extra dependencies, install the matching extra:

Create a Workspace

Start with the RAM VFS so you can try Mirage without credentials.

Run Commands

Once a VFS is mounted, you can use Mirage like a shell over your virtual filesystem:

Output Limits

To keep huge reads from flooding an agent, cat, grep, rg, head, and tail cap their output at 2000 lines, and every command stops after 600 seconds. When a cap fires, the agent sees the truncated output plus a stderr notice (cat: output truncated at limit (2000 lines); ...). Set your own limits in three places. A mount’s third tuple element covers commands that run on it, command_limits is the default for every session, and a profile’s command_limits applies to sessions created with it:
A command’s limit comes from the first place that names it: the session’s profile, the mount the command runs on, the workspace, then the built-in default. An entry replaces that command’s whole limit, so restate timeout_seconds if you still want a deadline; commands it does not name keep their defaults.
  • max_lines / max_bytes cap the output; None means no cap.
  • timeout_seconds is a deadline; a command that runs past it exits 124.
  • on_exceed=TRUNCATE (default) keeps the capped output, adds a stderr notice, and leaves the exit code alone. ERROR drops the output and exits 1, so && and || see the failure.
Caps apply to what each command prints, one command at a time: cat big.txt; echo end still prints end. Data going into a pipe, a redirect, or $(...) is never cut, so cat big.txt | wc -l counts every line. The workspace YAML takes the same fields under command_limits; see Command limits.

Workspace documents and sessions

See Workspace to expose optional, profile-aware /VFS.md and /SKILL.md files and change a session’s profile through the application API, CLI or HTTP.

Next Steps