- Composable. The filesystem, CLIs, shell and compute are separate parts you put together. Run the terminal in your app or a FastAPI or Fastify server, and send programs to a microVM or sandbox.
- Scriptable. A scriptable policy engine, written in code or as scripts, hides files per agent profile, refuses commands, asks for approval, caps output and routes commands to runtimes.
- Durable. Each part can live in your own storage: sessions in RAM, each shell job’s output in Redis, and the history of every command on disk.
Architecture
- Virtual filesystem. Virtualize S3, Drive, Slack, databases and more under one root, accessible with
ls,cat,grepandfind. - Virtual CLIs. Give agents commands such as
git,slackandntn, with credentials configured per tool. - Mirage shell. Compose files, CLIs and runtimes with pipes, redirects, variables and jobs.
- Agent profiles. Choose what each agent can run and which files and folders it can see.
- Policy engine. Apply rules to commands, file operations and session changes before they run.
- Runtimes. Run code in the workspace, on your host, in a sandbox or on a remote machine.
- Service credentials. Connect credentials from environment variables, dotenv, AWS Secrets Manager or 1Password.
- Notifications. Notify agents about external file or directory changes in the virtual filesystem.
Benefits
- Fewer tokens. One shell interface replaces a tool per service. Across 200 tasks, it used 52% fewer tokens per task than MCP tools (AgentVFS).
- Cloud search through shell commands. With Chroma at
/knowledge/,grep -r refund /knowledge/asks Chroma which documents match, then reads only those. A backend without search reads its files. See Search. - Full control. Choose which files each agent can see and which commands it can run with agent profiles and policies.
Try Mirage
Install Mirage, then create a workspace with an in-memory filesystem, write a file with a POSIX-style call, and search it with the shell. No credentials or services are needed.- Python
- TypeScript
- CLI
/data is a path inside Mirage. Replace RAM with a supported VFS
to use the same commands on your own data. Continue with the
Python or TypeScript quickstart.
Example Use Cases
- Respond to changes. React to Slack replies or GitHub pushes through file notifications.
- Search connected data. Use
grepfor text search andsearchfor semantic matches in vector stores. - Investigate traces. Query Langfuse and Jaeger traces with
grepandjq.
FAQ
Do I need FUSE?
Do I need FUSE?
No. Agents can use workspace files through Mirage directly. Use FUSE when host tools, such as editors or language servers, need to open those files.
Where does the shell run? Is it really bash?
Where does the shell run? Is it really bash?
Mirage provides a Bash-compatible shell in your application. It supports common commands, pipes, redirects, variables and jobs. See the shell guide for supported behavior and differences from Bash.
Is it sandboxed?
Is it sandboxed?
The shell sees the files you mount. The default Monty and QuickJS runtimes cannot access host files or the network. Other runtimes have different access; see runtime file and network access before choosing one.
What about latency and cost?
What about latency and cost?
Operations use the APIs of the services you connect, so their latency and usage charges apply.
Hosted or self-hosted?
Hosted or self-hosted?
Self-hosted. Run Mirage in your own application, server or sandbox, and connect the services you need.
Which agent frameworks are supported?
Which agent frameworks are supported?
Any agent that can call a shell tool can use Mirage. See the agent integrations for setup guides.
Python or TypeScript?
Python or TypeScript?
Both SDKs provide workspaces, shell commands and service integrations. Runtime availability differs; see the runtime comparison. Start with the Python or TypeScript quickstart.
What if a VFS I want isn't supported yet?
What if a VFS I want isn't supported yet?
You can add a custom filesystem. See Add a VFS for the required API and examples.
Explore Mirage
Python Quickstart
Create a workspace, mount your sources, and run shell commands in minutes.
TypeScript Quickstart
Same Workspace API in Node, browser, and edge runtimes.
CLI
Drive workspaces from the shell: create, run shell lines, snapshot, and restore.
Supported VFS
Compare supported VFS types and connect S3, Drive, Slack and more.
Community & Support
To let your coding agent search these docs, connect it to the docs MCP server athttps://docs.mirage.strukto.ai/mcp.
Need Help?
Setup failures, credential issues, and FUSE gotchas.
Book a Call
Talk to the team directly if you are blocked.
Join our Discord
Chat with the community and get help from the team.
GitHub Issues
Report bugs, request features, or ask questions.