Invite codes no longer gate your own accounts. Bring-your-own-account use is free for everyone; cloud Pro stays invite-only.Read the announcement
AnnouncementAugust 9, 2026

To everyone who's been following or using Mirasim:

Over the past few days, Mirasim ended up in front of a much bigger audience much earlier than we'd planned. We were still in private beta and, honestly, nowhere near ready for a wider launch.

Invite codes spread far beyond the small beta group we had planned for. In a very short window, we saw a flood of visits and test requests, along with some unusually aggressive, probing request patterns. Our capacity, reliability, and security systems weren't ready for that volume. Some of you ran into slow loading, failed requests, or Pro benefits that never showed up.

We're genuinely sorry for the rough experience. Whatever the source of the traffic, we should have been better prepared. That's on us, and our users shouldn't have to pay for it.

At the same time, you sent us a huge amount of honest, detailed feedback. A lot of issues that probably wouldn't have surfaced until a public launch showed up early. Thank you to everyone who took the time to try Mirasim, patiently share feedback, or report security issues responsibly.

Here's how access to Mirasim will work from here

Invite codes no longer limit connecting your own accounts to Mirasim — they only limit the cloud Pro service that Mirasim pays for.

Connecting and using your own accounts locally will be free for everyone. You'll be able to connect the Claude Code, Codex, and other model accounts or services you already use, then work across multiple models, Agents, and sessions in Mirasim. Mirasim won't charge for any of this. Third-party subscription or API fees will still follow each provider's own terms.

Cloud Pro access — where Mirasim covers the model usage costs to make things cheaper for users — will remain invite-only and roll out in batches as capacity allows. We'll keep sharing our progress and what opens next, so the rules stay as clear and transparent as possible.

A note on Pro benefits

  • The 1,000 beta users covered by our original promise will still receive one full year of Mirasim Pro. That promise has not changed.
  • Anyone who successfully registered during this wave after we had already passed the original 1,000-user limit will receive one month of Mirasim Pro. This is both to make up for the unstable experience and to thank you for trying Mirasim before it was fully ready.
  • If you've already registered or activated your access but your Pro benefits still aren't showing up, please don't try again. We have the records. We'll verify eligibility and apply the benefits in batches, then share the timing and start-date details.

How the rollout will work from here

Over the next week or two, we'll focus on adding capacity, fixing the entitlement system, tightening security, and working through your feedback one issue at a time. Mirasim remains open. Registration and local, bring-your-own-account access will stay available, while cloud Pro access will roll out in batches as capacity allows.

We're not trying to build yet another model aggregator. We want Mirasim to be an Agent workspace you can keep building in for the long run. Wherever the next leap in Agent capability comes from, you should be able to plug it into the same workflow, switch seamlessly, and use different Agents together. Once you've built something, you can put it in front of simulated users in a real environment and let evidence — not guesswork — tell you what to do next.

We want every leap in what Agents can do to become real leverage for everyone — so you spend less time chasing tools and more time building what you actually care about.

Models will change. You shouldn't have to start over.

Thank you for showing up before Mirasim was fully ready. From here, we'll put these promises into every fix and every update, and work to earn your trust by making Mirasim more stable and more reliable.

— The Mirasim team

Mirasim Documentation

Chapter 16

CLI, TUI and ui-cli

Run agents from the terminal, drive the whole app headlessly, and keep every setting in one reviewable tree.

The mirasim command

The standalone archive gives you the built-in agent, transparent Claude and Codex launches, host control, accounts and diagnostics. The `claude` and `codex` commands preserve each agent's own terminal UI and its own authentication — Mirasim changes exactly one thing about them: where their model traffic goes.

Everyday commands
./mirasim doctor                        # check the install and its environment
./mirasim                               # Mirasim's built-in agent
./mirasim -p "inspect this repository"  # built-in agent, one-shot
./mirasim claude                        # Claude Code, explicit
./mirasim codex                         # Codex, explicit
./mirasim agents                        # installed versions and updates
./mirasim ssh ubuntu@dev.example.com    # drive a Linux machine over SSH
./mirasim ui-cli help                   # the whole control surface

`mirasim help` prints the authoritative list. The rest of it, grouped by what you would be doing:

The full command surface
CommandWhat it does
login [github|email]Sign in — third-party OAuth or an email code. Stores a token.
logoutForget the stored login token.
agentsWhat is installed, each version, and whether an update is available.
update [agent]Update an agent through whichever channel installed it.
accounts [add|use|remove]List subscription accounts and switch which one an agent launches under.
relay [on|off|threshold|always|key]The quota fallback: its status and health, the master switch, the usage threshold that engages it, proxy-everything, and the key.
statusline [set]The running agent's live route status, and a seam for injecting your own text into it.
doctorDiagnose the install, the configuration and recording.
recordingsList captured sessions and whether each one's changes were kept or reverted.
serveRun the host: workbench, IM channels and pairing. Default port 4939; --host 127.0.0.1 binds loopback only.
ui-cli <cmd> [flags]Drive the UI over its host protocol, for agents and scripts. --port N attaches to a running serve, otherwise it spawns one.
ssh <user@host> [list|stop|uninstall]Drive a remote Linux host over SSH, and manage the saved ones.
checks [session]Run deterministic checks over a recorded session — part of evaluation.
evalBrowse local eval-skill simulation records: the run list, and per-case traces with screenshots. Default port 4960.
version · helpVersion, and the authoritative command list.

Because an agent's TUI paints over the terminal, a launch banner would be invisible within a second. Mirasim therefore publishes its live state into a slot the agent itself renders — Claude's status line, Codex's terminal title — so a mid-session switch to the quota fallback is visible where you are already looking. Your own status line is chained rather than replaced, and external tools can add a segment of their own.

Add your own status segment
mirasim statusline set deploy "staging ✓"

ui-cli: the app, scriptable

`ui-cli` is the scriptable twin of the graphical workbench. Every command speaks the exact frames the desktop, mobile and editor surfaces speak, against the same server a window is connected to — so anything a UI can do is one command here, and its effect shows up live in that window. It prints one JSON object per invocation, which is what makes it usable from scripts and from agents.

The `--port` flag picks which Mirasim you are driving. Without it, the command spins up a private throwaway server for itself.

Choosing an instance
FlagWhat it drives
--port 4970The installed desktop app's server — the usual choice.
--port 4950A development desktop instance's server.
(no --port)A private throwaway server, just for this command.
--shell desktop | mobileWhich app answers the shell operations — the desktop window, or the paired phone.
Read state, run real work, drive the window
# read-only facts, safe any time
mirasim ui-cli --port 4970 state
mirasim ui-cli --port 4970 sessions --limit 20
mirasim ui-cli --port 4970 workspaces

# start a real run — identical to typing it in the UI
mirasim ui-cli --port 4970 prompt --agent claude \
  --cwd ~/code/proj --text "summarize this repository"

# drive and observe the actual window
mirasim ui-cli --port 4970 navigate --to settings
mirasim ui-cli --port 4970 ui settings.open --value traffic
mirasim ui-cli --port 4970 dom
mirasim ui-cli --port 4970 click --text "By model"
mirasim ui-cli --port 4970 screenshot --out shot.png

Settings as one declarative tree

Every persisted setting forms a single JSON tree — the default agent, per-agent model, effort and access mode, relay behavior and thresholds, browser and screen automation toggles, display sleep, agent auto-update, the working directory, registered workspaces, IM credentials. You can read the whole thing, set individual dot-paths, or converge a machine onto a desired tree.

Read, set, and converge
mirasim ui-cli --port 4970 config get

mirasim ui-cli --port 4970 config set \
  defaultAgent=codex relay.enabled=true relay.threshold=0.8

# see exactly what would change, then apply only that
mirasim ui-cli --port 4970 config apply --file desired.json --dry-run
mirasim ui-cli --port 4970 config apply --file desired.json

`config apply` diffs your desired tree against the live values and applies only the fields that differ, each through the same setter the Settings UI uses — hot, and idempotent. The reply lists every field it touched with its before and after. Secrets are deliberately not part of the tree: relay keys, account tokens and provider keys go through their own commands.

When a command does not exist yet

`raw` posts any protocol frame verbatim and prints the responses, which means the CLI's coverage is never the limit — the protocol is. It is the escape hatch for the rare case where the app can do something the command catalog has not named yet.

The escape hatch
mirasim ui-cli --port 4970 raw '{"type":"…"}' --await someReplyType --seconds 5

Something wrong or missing on this page? Tell us