# Foxmayn Frappe Desktop: ask your ERP, approve every change

> A desktop app for your Frappe and ERPNext sites. Ask in your own words, approve every change, and connect the AI apps you already use.

Updated: 2026-10-27

- **Details:** Foxmayn Frappe Desktop
- **Year:** 2026
- **Status:** Public beta
- **Latest version:** desktop-v0.11.2 (2026-10-25) https://github.com/nasroykh/foxmayn_frappe_cli/releases/tag/desktop-v0.11.2
- **Download:** https://github.com/nasroykh/foxmayn_frappe_cli/releases/download/desktop-v0.11.2/foxmayn-frappe-desktop-0.11.2-macos-universal.dmg, https://github.com/nasroykh/foxmayn_frappe_cli/releases/download/desktop-v0.11.2/foxmayn-frappe-desktop-0.11.2-windows-amd64-setup.exe
- **Stack:** Go, Wails, React, TypeScript, SQLite, MCP
- **Links:** https://github.com/nasroykh/foxmayn_frappe_cli

## Video — Foxmayn Frappe Desktop

[Foxmayn Frappe Desktop](https://www.youtube.com/watch?v=dNr7Gpe0ib8) (58 s, With captions)

**Transcript**

> Monday, 9 a.m. Time to chase the unpaid invoices. In Foxmayn Frappe Desktop, you just ask, in your own words. It looks through your ERPNext data. Four customers are more than 30 days late. Real figures, from your site. To let it make changes, turn on Ask before changes. Then ask for a follow-up task for each. Before anything is saved, it shows you what it will add, and waits. You approve. That's it. It adds the four tasks, and tells you what it did. And there they are, in ERPNext. Use your own AI account, or a model on your own computer. It's free, for Windows and Mac, in English, French and Arabic. Ask in your words. Approve every change.

Not an official Frappe product. Not affiliated with Frappe Technologies.

## The problem

A Frappe or ERPNext site holds a company's customers, invoices and stock. A simple question, such as who is late paying, often means several screens in Desk or a report someone has to build first.

AI assistants can now read and update an ERP for you. Our command line, [ffc](https://foxmayn.com/en/open-source/ffc), gives them that access through MCP, with the user's own permissions. But each AI app needs its own setup, with config files and API keys, and nothing stops a model from changing data you did not mean it to touch.

## What we built

Foxmayn Frappe Desktop is one app for Windows and macOS that brings all of this together.

- **Sites.** Add a site with browser sign-in, where the app never sees your password and two-factor authentication still works. An API key or a username and password also work.
- **Assistant.** Ask a question about your site in your own words. The answer comes from the site's data. A conversation is read only until you turn on **Ask before changes**. Then every change waits for your approval.
- **Your own AI.** Use your own Anthropic, OpenAI, Google Gemini or OpenRouter account, or a model that runs on your computer with Ollama or LM Studio.
- **Connect apps.** Connect Claude Desktop, Claude Code, Cursor, VS Code or Codex to a site in one click, optionally read only.
- **Safety rules and activity.** Each site has rules for what AI may do there. An activity screen lists every call the assistant and the connected apps made.
- **Three languages.** The whole app is in English, French and Arabic, right to left in Arabic.

## A Monday morning, step by step

These screens come from the app on a demo ERPNext site with made-up customers. Every answer is a real answer from that run. The video above tells the same story.

You ask which customers are more than 30 days late. The assistant runs the Accounts Receivable report and answers with the figures from your site.

![The assistant lists four customers more than 30 days late, with their invoices, due dates and amounts, from the Accounts Receivable report.](https://foxmayn.com/work/foxmayn-frappe-desktop/answer.webp "The answer comes from your own data. Each tool the assistant uses shows as a step you can open.")

You turn on **Ask before changes** and ask for a follow-up task for each customer. Before anything is saved, the app shows what will be created and waits.

![An approval card: the assistant wants to create several ToDo documents on the demo site, with Decline and Approve buttons and the exact request under Technical details.](https://foxmayn.com/work/foxmayn-frappe-desktop/approval.webp "Nothing is saved until you approve. For an update, the card shows each field before and after.")

You approve. The assistant creates the four tasks and says what it did, and what it did not do.

![The assistant confirms four follow-up tasks, one per customer, with priority and amount overdue, and notes that the tasks are not assigned yet.](https://foxmayn.com/work/foxmayn-frappe-desktop/result.webp "The result, in plain words.")

![The ToDo list in ERPNext with the four new payment follow-up tasks.](https://foxmayn.com/work/foxmayn-frappe-desktop/erpnext-todo.webp "The same four tasks in ERPNext.")

## Connect the AI apps you already use

Many people already pay for Claude or use Cursor. The Connect apps screen finds those apps on the computer and connects them to a Frappe site. Before it writes anything, it shows the change it will make and backs up the app's settings file.

![The Connect apps screen: Claude Desktop connected, Claude Code not connected, Cursor set up differently, VS Code and Codex not found on this computer.](https://foxmayn.com/work/foxmayn-frappe-desktop/connect-apps.webp "One screen for every AI app on the computer.")

![The Connect Claude Code dialog: pick the site, optionally read only, with a note that nothing changes until you confirm.](https://foxmayn.com/work/foxmayn-frappe-desktop/connect-dialog.webp "Read only is one switch away.")

## Safe by design

Giving an AI access to the company's ERP is a real risk. The app is built around that.

- **Your Frappe permissions.** The assistant acts as the Frappe user you signed in as. It cannot do more than that user can do in Desk.
- **Read only first.** In a read-only conversation, the tools that create, change or delete are not given to the model at all.
- **Every change is approved.** Deleting and cancelling ask through ffc's own confirmation, so there is one card, not two.
- **Rules per site.** Read only, ask before risky changes, or your own lists of allowed and refused document types. The rules apply to the assistant and to the connected apps alike.
- **Site data is treated as data.** What the site returns reaches the model marked as untrusted, so an instruction hidden in a document is not followed as yours.
- **Keys stay in the system keychain:** Windows Credential Manager or the macOS Keychain. They are never written to a file or shown back in full.
- **Local only, when it must be.** A site can be limited to models that run on the computer, so its data never leaves it.
- **No telemetry.** The app talks to your sites, to GitHub for updates, and to the AI provider you chose. Nothing else.
- **Cost on every answer.** Each answer shows its tokens and an estimated cost.

![The Safety rules panel for a site: read only, ask before risky changes, or custom lists.](https://foxmayn.com/work/foxmayn-frappe-desktop/safety-rules.webp "Safety rules for one site.")

## Built for French and Arabic

Our clients work in French and Arabic as much as in English. The app follows the system language, and Arabic lays out the whole app right to left. Keyboard shortcuts work with Arabic and AZERTY keyboards too.

![The Connect apps screen in Arabic, laid out right to left.](https://foxmayn.com/work/foxmayn-frappe-desktop/arabic.webp "The same screen in Arabic.")

## How it works

The app is written in Go with Wails, around the same Go code as the ffc command line. It runs ffc's MCP server inside the app, so the assistant needs nothing else installed. The interface is React and TypeScript with shadcn/ui. Conversations are kept on the computer only, in a SQLite file.

Releases are built in CI on Windows and macOS. Their checksums are signed, and each release has a build provenance attestation. The interface has unit tests, and end-to-end tests with accessibility checks. A security review in October 2026 led to the fixes in version 0.8.0.

## Where it stands

- **Public beta.** The first release came out on 7 October 2026. There have been eighteen beta releases since, the latest on 25 October.
- **Tested by us.** We test each release on Windows and macOS against real Frappe sites. We have no usage figures to share, because the app has no telemetry.
- **Not yet code-signed.** Windows and macOS warn about an unknown publisher the first time. Signing waits for a code-signing certificate.
- **Windows 10 and 11, and macOS 12 or newer.** Linux is not supported yet.
- **Browser sign-in works out of the box on Frappe v16.** On Frappe v15 it needs an OAuth client set up once on the site.

## Install

Download the installer for your system at the top of this page.

- **Windows:** run the setup file. SmartScreen warns about an unknown publisher: click **More info**, then **Run anyway**. No administrator rights are needed.
- **macOS:** open the disk image and drag the app to Applications. macOS blocks the first launch: open **System Settings > Privacy & Security** and click **Open Anyway**.

You can also install it with one command. It downloads the newest release, checks it and installs it, with no warning.

macOS:

```bash
curl -fsSL https://raw.githubusercontent.com/nasroykh/foxmayn_frappe_cli/main/install-desktop.sh | sh
```

Windows PowerShell:

```powershell
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/nasroykh/foxmayn_frappe_cli/main/install-desktop.ps1 | iex"
```

The app then tells you about new versions and installs them for you.

## What it shows about our work

We build AI on top of ERPNext that a business can trust: real permissions, an approval for every change, and a record of what happened. If your team wants an assistant with your own rules, or AI connected to your Frappe site, [talk to us](https://foxmayn.com/en/services). The source is on [GitHub](https://github.com/nasroykh/foxmayn_frappe_cli), and the command line behind it is [ffc](https://foxmayn.com/en/open-source/ffc).

---
Contact: foxmayn@protonmail.com · https://foxmayn.com/en#contact
HTML: https://foxmayn.com/en/work/foxmayn-frappe-desktop · [fr](https://foxmayn.com/fr/work/foxmayn-frappe-desktop.md) · [ar](https://foxmayn.com/ar/work/foxmayn-frappe-desktop.md)
