> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tapkit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Mac App

> The host app that makes your phones available

The TapKit Mac app is the host that connects physical iPhones to your TapKit account, making them available to any integration — Claude, Codex, the API, or any MCP client. No Mac app running, no phone access.

<Frame>
  <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-overview.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=c10160c548409f83b2672d96791b3e4d" alt="TapKit Mac app showing connected iPhone with gestures panel and agent sessions" width="2616" height="1962" data-path="images/mac-app-overview.png" />
</Frame>

## Sidebar (left)

### Status bar

Five indicators at the top of the sidebar show system status at a glance. Green means connected, yellow means connecting, and red means disconnected or off.

<Accordion title="See screenshot">
  <Frame>
    <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-status-bar.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=8670a15ab7aa685b6bcc166457e5a9cc" alt="Status bar showing Switch, Server, Phone, Screen, and Stream indicators" style={{ borderRadius: '12px' }} width="660" height="145" data-path="images/mac-app-status-bar.png" />
  </Frame>
</Accordion>

| Indicator  | What it means                                                                                                                       |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Switch** | Whether Switch Control is connected and running. Red = off, yellow = connecting, green = on.                                        |
| **Server** | Whether you have a live connection to the TapKit server. Green = logged in and connected. Red = signed out or connection issues.    |
| **Phone**  | Whether your iPhone is detected as connected.                                                                                       |
| **Screen** | Whether the Mac is receiving the screen stream from your phone. Red if the phone is locked or something is interrupting the stream. |
| **Stream** | Whether someone else on your team is viewing the live stream on the web app. Green = someone is watching, red = no active viewers.  |

### Gestures & Device Controls

Below the device list, you can switch between **Gestures** and **Device** tabs. Gestures shows touch gestures (tap, swipe, pinch, etc.) and Device shows device controls (home, lock, volume, etc.). You can trigger these manually by clicking them — useful for testing or quick one-off actions.

<Accordion title="See screenshots">
  <Frame>
    <div style={{ display: 'flex', gap: '12px', justifyContent: 'center', alignItems: 'flex-start', padding: '16px' }}>
      <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-gestures-menu.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=02a5883726fa9de75b95181f256aecb8" alt="Gestures tab showing tap, double tap, flick, pan, drag, and pinch" style={{ width: '268px', height: '314px', borderRadius: '12px' }} width="536" height="628" data-path="images/mac-app-gestures-menu.png" />

      <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-device-menu.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=bf5d9e069ec7b6b889c77a3168e30301" alt="Device tab showing home, lock, siri, spotlight, volume, and more" style={{ width: '271px', height: '370px', borderRadius: '12px' }} width="541" height="740" data-path="images/mac-app-device-menu.png" />
    </div>
  </Frame>
</Accordion>

### Switch Control

At the bottom left, the Switch Control section shows the connection status. When off, you can turn it on or open the Switch Control menu. When on, you get three buttons for interacting with Apple's Switch Control directly — **Next** iterates through items, **Select** selects the current item, and **Stop** stops scanning. These are there as a convenience in case Switch Control gets stuck or you want to control it manually.

<Accordion title="See screenshots">
  <Frame>
    <div style={{ display: 'flex', gap: '12px', justifyContent: 'center', alignItems: 'flex-start', padding: '16px' }}>
      <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-menu-off.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=b30afb2ae44b319ca337958603f462bb" alt="Switch Control off with Turn On and Open Menu buttons" style={{ width: '262px', height: '106px', borderRadius: '12px' }} width="524" height="211" data-path="images/mac-app-menu-off.png" />

      <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-menu-on.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=a510297847ddb3da1af4a3f101126a64" alt="Switch Control on with Next, Select, Stop buttons and Turn Off" style={{ width: '246px', height: '158px', borderRadius: '12px' }} width="491" height="315" data-path="images/mac-app-menu-on.png" />
    </div>
  </Frame>
</Accordion>

## Phone view (center)

The center panel shows a live feed of the selected phone's screen. During an active task, you'll see the agent's actions happen in real-time — taps, swipes, typing, and navigation.

The screen updates continuously so you always know what the agent is doing and can intervene if needed.

## Agent chat (right)

The right panel is a built-in agent interface. Type a natural language prompt — like "Open Settings and turn on Dark Mode" — and the agent will execute it on the phone. This is the fastest way to test TapKit without setting up any external integrations.

## Settings

The settings window has four tabs: General, Phones, Account, and Script Logs.

<AccordionGroup>
  <Accordion title="General">
    View the status of your macOS permissions (Accessibility, Camera, Automation) and grant any that are missing. **Run Setup Again** takes you back to the beginning of the setup flow if you need to reconfigure or set up a new phone. **Show Advanced Settings** enables verbose AppleScript output and the Script Logs tab for troubleshooting.

    <Frame>
      <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-settings-general.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=c72e36e8c416b23e38672678f29ff652" alt="General settings showing permissions, setup, and advanced options" width="2024" height="1284" data-path="images/mac-app-settings-general.png" />
    </Frame>
  </Accordion>

  <Accordion title="Phones">
    Switch between multiple connected phones, set the active phone, and configure passcodes. Your phone's passcode is used to unlock it — TapKit stores it locally in your Mac's keychain and never uploads it to the server.

    <Frame>
      <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-settings-phones.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=7f1132a3f2fa2b6b117ac9e277f281b8" alt="Phones settings showing active phone, connected phones, and passcode configuration" width="2024" height="1284" data-path="images/mac-app-settings-phones.png" />
    </Frame>
  </Accordion>

  <Accordion title="Account">
    View your sign-in status, sign out, and manage your subscription and billing.

    <Frame>
      <img src="https://mintcdn.com/jootsingresearch/JCRzAouSf062z5yl/images/mac-app-settings-account.png?fit=max&auto=format&n=JCRzAouSf062z5yl&q=85&s=ad34e7bc45cdac318788492764481546" alt="Account settings showing sign-in status, billing, and manage subscription" width="2024" height="1284" data-path="images/mac-app-settings-account.png" />
    </Frame>
  </Accordion>

  <Accordion title="Script Logs">
    View verbose AppleScript logs for troubleshooting. Only visible when **Show Advanced Settings** is enabled in the General tab.
  </Accordion>
</AccordionGroup>
