# Wear OS (/docs/apps/wear)

codai for Wear OS is a standalone AI assistant for your watch. Install it from Google Play, sign in with a code or from your phone, ask by voice, follow sessions, approve scheduled tasks and record voice notes.

codai for Wear OS is a standalone watch app: it talks to codai directly over Wi-Fi or LTE, so it keeps working when your phone is out of reach. Wear OS 3 or newer (Galaxy Watch 4 and later, Pixel Watch, and other Wear OS 3+ watches). It uses the same `codai` model and the same account as every other client.

## Install [#install]

<Tabs items={['Google Play', 'APK (sideload)']}>
<Tab value="Google Play">

The watch app ships under the same Play listing as the phone (`ro.codai.phone`), on its own Wear OS track. Open the Play Store **on the watch** and search for codai, or open [codai on Google Play](https://play.google.com/store/apps/details?id=ro.codai.phone) on your phone and pick your watch under **Install on more devices**. Play updates it with the phone app.

</Tab>
<Tab value="APK (sideload)">

1. On the watch: **Settings → Developer options → Wireless debugging** → on (tap **Build number** seven times under **About watch → Software** to unlock Developer options).
2. On your computer, pair and install:

```powershell
adb pair <ip>:<pair-port>          # code shown on the watch
adb connect <ip>:<port>
adb -s <ip>:<port> install codai-wear-<version>.apk
```

A watch build from Play and a sideloaded one are signed with the same key, so either can update the other. A debug build cannot — uninstall it first.

</Tab>
</Tabs>

## Sign in [#sign-in]

You never type a password on the watch.

- **With a code**: the watch shows a short code and an address. On any device, open `auth.codai.ro/device`, sign in and enter the code. The watch signs in by itself within a few seconds.
- **Open on phone**: tap **Open on phone**. Your paired Android phone opens the approval screen of the codai phone app — tap **Approve**. This needs the codai phone app signed in on that phone.

Each watch gets its own key, named after the watch model in **Account → Devices**, where you can revoke it at any time.

## Voice & chat [#voice--chat]

Tap **Ask codai** and speak, or switch to the keyboard. The answer streams in as it is written; scroll with the crown or the bezel. **New chat** starts over. Dictation uses the watch's own speech recognizer — codai receives only the recognised text, never audio.

## Sessions [#sessions]

The **Sessions** screen lists your running codai sessions on your desktop and your phone, with their state.

- **View**: open a session to read its latest steps and the current answer.
- **Control**: pause, resume or stop it from the watch.
- **Answer**: when a session stops for a question (an ask card), answer it with the offered choices or by voice.
- **Stop**: stopping from the watch is the same as stopping on the device that runs it — the session ends cleanly and keeps its history.

## Notifications [#notifications]

When a session needs you or finishes, the watch shows a short notification. Answer an ask straight from the notification, or tap it to open the session. Notifications follow the watch's Do Not Disturb and bedtime modes.

## Tile, complication and assistant [#tile-complication-and-assistant]

- **Tile**: swipe to your tiles, **+** → **codai**. One tap starts a question.
- **Complication**: long-press the watch face → **Customize** → a complication slot → **codai**.
- **Assistant shortcut** (Galaxy Watch): **Settings → Advanced features → Customize keys → Double press** → **codai**. If your watch offers it, you can also make codai the assistant: **Settings → Apps → Default apps → Digital assistant → codai**.

## Battery saver [#battery-saver]

**Settings → Battery saver** keeps the watch quiet: sessions refresh only while you look at them, there is no background polling, and animations are reduced. Notifications still arrive — they are pushed, not polled.

## Settings [#settings]

Battery saver, notification preferences, language (follows the watch), the signed-in account, the app version, and **Sign out**. Signing out revokes the watch's key on the server and deletes it from the watch.

## Privacy [#privacy]

The watch stores only your codai key (encrypted with a key held in the watch's secure hardware) and a random device id; nothing is included in cloud backups. It sends your prompts and session actions to `ai.codai.ro`, and a push token so sessions can notify you. No location, contacts, health or sensor data. See the [privacy policy](https://codai.ro/privacy).

## Troubleshooting [#troubleshooting]

| Symptom                                       | Fix                                                                                                                                      |
| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| "The code expired"                            | Tap **Retry** for a new code — codes are valid for a few minutes.                                                                        |
| "Phone not reachable" after **Open on phone** | The phone is not paired or the codai phone app is not signed in. Use the code instead.                                                   |
| No sessions listed                            | Sessions appear only while a codai desktop or phone app runs them and is online with the same account.                                   |
| No notifications                              | Check **Settings → Notifications → codai** on the watch, Do Not Disturb, and that battery saver in the _system_ is not blocking the app. |
| Sideload fails with a signature error         | A debug build is installed — uninstall codai from the watch, then install again.                                                         |

<Cards>
  <Card
    title="Android"
    href="./android.mdx"
    description="The phone app, which also approves watch sign-ins."
  />
  <Card
    title="Shared sessions"
    href="../sessions/index.mdx"
    description="What the watch shows and controls."
  />
  <Card
    title="Verify downloads"
    href="./verify-downloads.mdx"
    description="Check an APK before you sideload it."
  />
</Cards>
