# Reported issues for mirroir-mcp

Pod holds 17 of 18 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [mirroir-mcp](/mcp/mirroir-mcp).

## Most discussed

### [Bug]: source build fails to link without embacle-ffi — the canImport(CEmbacle) fallback is unreachable

### Target type

Build / install (not a target-specific bug)

### Install method

Source build — `get-mirroir.sh` → `mirroir.sh` (`swift build -c release`), fresh clone of `main` at `7ed7e04`

### mirroir version

0.38.0+ (`7ed7e04`). Note `mirroir --version` reports `version: unknown` on a source build.

### macOS version

macOS 26.6.1, Apple Silicon (M4 Pro), Xcode command line tools present

### MCP client

n/a — fails before the binary exists

### Bug description

On a machine without `embac

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/38) · 2026-08-17 · closed · outside contributor · 2 comments

### [Bug]: describe_screen always returns 0 OCR elements — Vision e5rt error reported as "(no text detected)"

# describe_screen returns 0 OCR elements on all screens (silent Vision failure)

**Version:** mirroir-mcp 0.37.0 (npm, native binary from GitHub Releases)
**OS:** macOS 27.0 (build 26A5388g), Apple Silicon
**Setup:** `doctor` reports 5/5 passed. Screen Recording + Accessibility granted.

## Summary

`describe_screen` always returns `element_count=0` / "(no text detected)", on every screen
tested, while Apple Vision reads the same content correctly outside of mirroir.

Two failure timings alterna

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/36) · 2026-08-14 · closed · external user · 2 comments

### tools/list response fails MCP client schema validation (ttlMs/cacheScope) — Claude Code CLI 2.1.228

## Summary
After installing via `npx -y mirroir-mcp install` and registering as a Claude Code MCP server, the server connects successfully but Claude Code's MCP client rejects the `tools/list` response with a schema validation error, so no tools (not even read-only ones) are usable.

## Versions
- mirroir-mcp: 0.36.0 (npm, latest at time of filing)
- Claude Code CLI: 2.1.228
- macOS: 26.5.2, Apple Silicon (M1)

## Steps to reproduce
```
npx -y mirroir-mcp install   # select "Claude Code"
claude 

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/35) · 2026-08-12 · closed · external user · 2 comments

### [Bug]: Long-lived MCP server never recovers from .noWindow after device respring (fresh process sees it fine, only a server restart fixes it)

## Target type
iPhone Mirroring

## Install method
Homebrew (`brew install mirroir-mcp`)

## mirroir version
v0.35.0

## macOS version
macOS 26.5.2

## Device & OS version
iPhone 13, iOS 26.5.1

## Screen describer mode
auto (default). Not relevant to this bug, the failure happens at the connection layer before any describe call.

## MCP client
Claude Code

## Bug description

A long-lived MCP server process never recovers from a `.noWindow` state after
the iPhone resprings (a device language ch

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/34) · 2026-07-22 · closed · external user · 2 comments

### [Bug]: Copilot CLI not working

### Target type

iPhone Mirroring

### Install method

Source (`swift build`)

### mirroir version

0.30.0

### macOS version

26

### Device & OS version

iphone11

### Screen describer mode

vision (embacle)

### MCP client

cc

### Bug description

I try to call github copilot for mirror description. This is the configuration. I find out it not works. I check my copilot output. Here is the error

<system-instructions> You are a UI element detector for iPhone automation. You MUST respond with 

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/13) · 2026-03-29 · closed · external user · 3 comments

### [Bug]: describe_screen returns incorrect Y coordinates for bottom navigation bar elements

### Target type

iPhone Mirroring

### Install method

Source (`swift build`)

### mirroir version

v0.30.0

### macOS version

macOS 26.3

### Device & OS version

iphone11

### Screen describer mode

None

### MCP client

claude

### Bug description

<p style="white-space: pre-wrap; margin-top: 0.1em; margin-bottom: 0.2em; color: rgb(191, 191, 191); font-family: -apple-system, &quot;system-ui&quot;, &quot;Segoe UI&quot;, Roboto, sans-serif; font-size: 13px; font-style: normal; font-variant-lig

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/11) · 2026-03-27 · closed · external user · 1 comment

### describe_screen failed with  Error: Failed to capture/analyze screen. Is the 'iphone' window visible?

Hi there,
I do upgrade to the latest version today. The build works fine. It fixed the emblace error. But describe screen seems not working. 

use mirroir mcp, describe the screen                                                                                                                                                            
                                                                                                                                                                    

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/10) · 2026-03-26 · closed · external user · 1 comment

### daemon not running

I just installed v0.21.0 from Homebrew and tried to use it in VS Code.  The screenshot function works fine but when I ask it to tap or scroll the screen I got the following error and the agent stopped working:

Helper daemon not running. Tap, type, and swipe require the helper daemon.
Run this in your terminal to complete setup:
  npx iphone-mirroir-mcp setup
Screenshots and menu actions (Home, Spotlight, App Switcher) still work without it.

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/3) · 2026-02-26 · closed · external user · 3 comments

## Most recent

### screenshot can return a stale frame — actions look like no-ops, and retry-on-no-op causes mis-taps

### Target type

iPhone Mirroring

### Install method

npx (`claude mcp add --transport stdio mirroir -- npx -y mirroir-mcp`)

### mirroir version

v0.38.2

### macOS version

macOS 26.5

### Device & OS version

iPhone, portrait, mirroring window 326×720

### Screen describer mode

Local OCR (default)

### MCP client

Claude Code

---

## Summary

`screenshot` frequently returns a **stale frame** — the state from *before* the immediately-preceding action, not after it. A second screenshot a bea

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/54) · 2026-08-29 · open · external user · 0 comments

### type_text silently drops all non-Latin (CJK) characters — no clipboard/paste path for typing Chinese/Japanese/Korean

### Target type

iPhone Mirroring

### Install method

npx (`claude mcp add --transport stdio mirroir -- npx -y mirroir-mcp`)

### mirroir version

v0.38.2

### macOS version

macOS 26.5

### Device & OS version

iPhone, portrait, mirroring window 326×720

### Screen describer mode

Local OCR (default)

### MCP client

Claude Code

---

## Summary

`type_text` cannot enter any non-Latin (CJK) text. Every Chinese/Japanese/Korean character is silently dropped, so there is currently **no way to typ

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/53) · 2026-08-29 · open · external user · 0 comments

### Gate destructive skill steps behind a confirm

The mirroir skills include send message, uninstall and batch archive, all real consequence actions on a live iPhone with no client side gate. I am building AgentKey, an auth layer for agent tool calls that allows, blocks or requires approval per tool at the MCP boundary. Would you be open to trying it on one of your skills?

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/52) · 2026-08-24 · open · external user · 0 comments

### Bug Report: swipe is unreliable for TikTok feed scrolling in iPhone Mirroring

### Description

nvironment
App: TikTok on iPhone Mirroring
Tool: mirroir MCP swipe
Screen size observed: approx 334 x 735
Goal: swipe up to move to the next TikTok feed video
Expected Behavior
A vertical upward swipe should reliably advance TikTok to the next feed video, similar to a human finger flick.
Actual Behavior
swipe is inconsistent. Depending on distance and duration, it often:
does not move to the next video,
gets stuck between two videos,
only moves the current video slightly,
or suc

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/33) · 2026-06-16 · closed · external user · 0 comments

### [Bug]: Bug Report: mcp__mirroir__swipe — Horizontal swipes behave inconsistently

### Target type

iPhone Mirroring

### Install method

Homebrew (`brew install mirroir-mcp`)

### mirroir version

v0.33.1

### macOS version

macOS 26.3

### Device & OS version

_No response_

### Screen describer mode

None

### MCP client

cc

### Bug description

<h2 style="color: rgb(191, 191, 191); font-family: -apple-system, &quot;system-ui&quot;, &quot;Segoe UI&quot;, Roboto, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: norma

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/25) · 2026-05-15 · closed · external user · 1 comment

### [Bug]: Bug Report: describe_screen returns incorrect Y coordinate for non-grid 3-element toolbar rows due to over-eager icon-label offset

### Target type

iPhone Mirroring

### Install method

Homebrew (`brew install mirroir-mcp`)

### mirroir version

v0.33.1

### macOS version

macOS 26

### Device & OS version

iphone11

### Screen describer mode

None

### MCP client

cc

### Bug description

<img width="334" height="735" alt="Image" src="https://github.com/user-attachments/assets/5ee83265-068d-40c4-9ef5-619fd4835ba1" />

### Steps to reproduce

<h2 style="color: rgb(204, 204, 204); font-family: -apple-system, &quot;system-u

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/24) · 2026-04-29 · closed · external user · 1 comment

### [Bug]:

### Target type

iPhone Mirroring

### Install method

Source (`swift build`)

### mirroir version

v0.30.0

### macOS version

mac OS 26.3

### Device & OS version

iphone 11

### Screen describer mode

None

### MCP client

CC

### Bug description

Encounter "Failed to open Spotlight. Is target 'iphone' running?"

Is it expected? I find out iPhone mirroring works well. But the mirroir mcp shows Failed to open Spotlight. It can send commend line like CMD+3 to iphone and have reply. 

Failed to 

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/23) · 2026-04-27 · closed · external user · 1 comment

### [Feature]: is there a way to swipe to kill the app

### Description

I try the swipe to kill the app, it is not working?  The reset app tool is the same.

Is the swipe action not expected or I made something wrong

### Use case

1 open some apps
2 ask mirrior mcp to kill the app

### Area

Input (tap, swipe, type, etc.)

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/22) · 2026-04-27 · closed · external user · 1 comment

### [Feature]: bottom icon Y axis more than expected

### Description

I often encounter the issue that when tap the icon at the bottom of the screen. The Y axis is higher than expected. Such as the screenshot. The Y should be 680, but mirroir always click 718, which is at the bottom of the screen.

{
  "screenDescriberMode": "ocr",
  "ocrBackend": "both",
  "agent": "embacle",
  "safeBottomMarginPt": 30,
  "iconBottomZoneFraction": 0.12,
  "tapBottomZoneOffset": 20.0
}

### Use case

**Part 3: Edit and post on TikTok**
  -> mcp__mirroir__describe

[Read the thread](https://github.com/jfarcand/mirroir-mcp/issues/15) · 2026-03-31 · closed · external user · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/jfarcand/mirroir-mcp/issues).
