---
title: Browser and web apps
description: Pair the browser extension to bind tab commands and commands web apps publish.
---

The Vimputer extension connects Chrome or Arc to the app. Once it's paired:

- Tab commands appear in the action picker under **Browser**: switch, open, close
  and reopen tabs, back and forward, reload, duplicate, pin, mute, and move a tab
  to another window. They only run while that browser is focused.
- A web app that publishes commands adds them to the picker, and its current page
  can be used in an **App scope** [condition](/docs/authoring/conditions).

## Install

The extension isn't in the Chrome Web Store yet. Build it from the repo:

```bash
pnpm extension:build
```

In `chrome://extensions`, turn on **Developer mode**, choose **Load unpacked**,
and pick `apps/browser-extension/.output/chrome-mv3`. It needs Chrome 116 or later.

## Pair

1. **Get a code**

    In Vimputer, open **Settings → Integrations**, and under **Paired clients**
    choose **Pair**. It shows a six-character code.

2. **Enter it**

    Open the extension's popup and enter the code. **Settings → Integrations →
    Browser** now shows Connected.

The extension only talks to Vimputer on `127.0.0.1`, and reads no sites until you
choose **Connect this site** in its popup.

## Web apps

A web page publishes commands with the [OpenKeymap](https://github.com/openkeymap/openkeymap)
SDK. **Settings → Integrations → Browser** shows the web app in the active tab and
its commands. To bind several at once, use **Add from app…** in a layer's menu.

Desktop apps can publish commands over the same connection. Clipt is the first;
paired apps are listed under **Connections** in Settings → Integrations.
