Download

Give your AI agent hands.

An MCP server and CLI, free and with nothing to set up. One line, and your agent opens apps, clicks, types and reads the screen in any software on the computer. Anything sensitive waits for a person’s OK.

How it works

macOS, Windows and Linux. Node 22.18+.

Your agent asks. ands does it.

Your agent calls ands’s tools, and the orange hand does it in the app. When a step is sensitive, the question pops up for you, and only your click approves it.

Plug into any agent in ten seconds.

No account, no key, no config file. Pick your agent, copy, done.

In a terminal, in your project:

Why not screenshots?

Most tools drive the computer with screenshots and coordinates. ands reads the screen the way a screen reader does: buttons, fields and text, each with a name and a ref.

Cheap and fast

ScreenshotsEvery step is a full image sent to the model. Costly in tokens, and slow.

andsEvery step is a short list of elements with refs. Few tokens, quick answers.

Clicks the right button

ScreenshotsGuesses coordinates. A redesign or a resized window, and it misses.

andsClicks “Send” by its name, at any window size and in any language.

Knows what’s sensitive

ScreenshotsDoesn’t know what it’s clicking, so it can’t stop before sending.

andsKnows it’s the “Send” button, so it stops and asks you first.

What your agent gets.

Seven tools. Each one has a risk tier, set in code, not by the model.

ands_look

A snapshot of an app: buttons, fields and text, each with a ref.

Read
ands_act

Click, type, select, scroll or set a value by ref.

Change
ands_press

A key combo in a given app, like cmd+s.

Change
ands_apps

List apps and windows, launch and close.

Read
ands_clipboard

Read and write the clipboard.

Sensitive
ands_screenshot

A screenshot, for when the tree isn’t enough.

Sensitive
ands_do

Hand over a whole task in words, and ands does it itself. Optional.

Change

Your agent proposes. You decide.

Every tool call is checked before it reaches the computer. The check is code, and nothing the agent read along the way can talk its way past it.

  • ReadLook, read, search. Goes through and is logged.
  • ChangeClick, type, move. Covered by the plan you approved, or asked step by step.
  • SensitiveSend, pay, delete, install, passwords. Always asks, even inside a plan.

How the question reaches you

  1. 01
    Inside your agent

    If your agent supports it, the question shows up right inside Claude Code, VS Code or Cursor.

  2. 02
    A system dialog

    Otherwise the OS opens an approval dialog. Even a background agent can’t approve itself.

  3. 03
    A log

    Every action is logged on your machine: who asked, what happened, who approved.

No agent? ands is the agent.

Sign in once from the terminal and ask in words. ands writes a plan, waits for your OK, and does it.

$ npx andsh login
✓ Signed in

$ ands "send the October invoices to my accountant"

  plan  1. open Finder › Invoices/2026-10
        2. new mail, attach 14 PDFs
        3. send to yossi@cpa-office.co.il
  ? approve this plan  yes
  ? send email (sensitive)  yes
  ✓ done in 41s · 23 actions · logged

Developer questions

About setup, approvals and price.

Nothing. Your agent does the thinking, ands only gives it hands.

Change steps can be approved up front (`--yes`, or approving the plan). Sensitive steps always go to a person. That is on purpose, and it is the product’s promise.

If your agent has the context, give it the tools. If you want to hand off a whole task without spending your context window, use ands_do.

Password fields are never read, password managers are blocked by default, and settings stay on your machine with 0600 permissions.

agent-desktop, an open-source Rust engine that reads the screen through the OS accessibility APIs. ands adds the approval check, the MCP server and the CLI on top.

The agent works inside the Chrome, Safari or Edge you already have open, with the accounts you’re signed in to. No separate browser needed.

Give your agent hands.

Free. One line in your terminal.

The app for everyone
$ claude mcp add ands -- npx -y andsh mcp
✓ Added MCP server ands (7 tools)