Phone Simulator (test the phone version on your computer)
The Phone Simulator opens the real phone version of Omniscio in a phone-shaped window on your computer, so you can test a plugin or a feature on mobile without picking up a phone. Covers where to open it, what it does to Mobile Access, how plugins that declare phone support open on the phone walled off, and the limits of what a simulator can show.
The Phone Simulator shows you exactly what a phone sees, on your own computer. It is the real phone version of Omniscio — the same page a paired phone loads — in a phone-shaped window with touch turned on. Use it to check a plugin or a feature on mobile without picking up a phone.
Who can open it
The Phone Simulator is a developer tool. It is there for you when you run a developer build of Omniscio, or when Settings → Plugins → Developer Mode is switched on. Everyone else does not see it, and an attempt to open it says to turn Developer Mode on first.
Open it
- Settings → Mobile Access → Phone Simulator → Open Phone Simulator (shown to developers only).
- Settings → Plugins → Developer Mode (switch Developer Mode on) — the same button sits under Load unpacked plugin.
- A keyboard shortcut — "Open Phone Simulator" in Settings → Keybindings. It has no default key; bind one if you use it often, and the button tooltips show it.
- Command line —
POST /phone-simulator/openon the local control server (the full-trust token only). This opens the window but never approves it: the normal "approve this device" card appears, and your own click on the button approves it.
Clicking again while the simulator is open brings it to the front instead of opening another one. The buttons do not appear on a phone.
What it does
- It is the real phone version. The window loads the page this computer serves to phones, so a phone layout, a phone-only bug or a plugin that refuses phones looks exactly as it does on a phone.
- It feels like a phone. Touch is on, the screen reports a phone size, and dragging with the mouse acts as a swipe. Resize the window to try a bigger or smaller phone.
- Developer tools. Press F12 in the simulator to inspect the phone page — in a developer build, or with plugin Developer Mode on. The phone emulation comes back when DevTools closes.
- No setup, no approval card. If Mobile Access is off, the simulator turns it on for this computer only — never your network, whatever you saved under Advanced — and turns it off again when you close the window. If you turn Mobile Access on yourself while the simulator is open, it stays on. The simulator shows up in Settings → Mobile Access → Devices as Phone Simulator.
- Your click is the approval. Opening it from the button approves the simulator itself and nothing else. A phone can never open the simulator on your computer.
When it will not open
- You are signed out and device approval is on — sign in to Omniscio on this computer first.
- You blocked the Phone Simulator in Devices — unblock it there; the app never unblocks it for you.
Plugins on the phone
A plugin opens on the phone — and in the simulator — when it is turned on and its manifest.json
says "mobile": true. That works for a plugin you are building in Developer Mode, a store plugin and
a third-party one alike. The six plugins built into Omniscio work on the phone as before.
A plugin that does not declare phone support keeps the "only available on the desktop app" notice.
On the phone such a plugin runs in a walled-off page:
- it cannot see your sign-in, your stored data or the rest of the app;
- it can do only what its permissions allow on this computer, minus the actions a phone always refuses;
- it loads its own files through a short-lived pass that reaches nothing else;
- browser storage (
localStorage,sessionStorage) works but is temporary — save anything that must last through the plugin storage API; - it cannot reach outside websites.
Turn the whole thing off with Settings → Mobile Access → Devices → Let plugins open on your phone.
Good to know
- Seeing a code change. The simulator shows the build this computer serves to phones. After a rebuild it reloads on its own when the new build is served.
- It is a simulator, not a phone. Real phone browsers differ in small ways (keyboard behaviour, safe-area insets, iOS Safari quirks). Check anything that depends on those on a real device.
For agents and developers
- Main process:
src/main/services/web/phone-simulator-window.ts(window, emulation, single instance),phone-simulator-access.ts(Mobile Access lease, seeded device),phone-simulator-lease.ts. - Walled-off plugins:
web-access-plugin-mobile-allow.ts(trusted / isolated decision),web-access-plugin-asset-pass.ts(the pass),web-access-plugin-ui.ts(the/plugin-ui/~<pass>/route),web-access-plugin-bridge-relay.ts(pass mint and bridge relay). - The contract:
.claude/memory/contracts/phone-simulator-contract.md; the map:.claude/memory/phone-simulator-map.md.
Last verified 2026-11-04