Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/routes/changelog/(entries)/2026-04-10.markdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
layout: changelog
title: "Appwrite CLI now ships native Homebrew binaries"
date: 2026-04-10
---

The Appwrite CLI installed via [Homebrew](https://brew.sh/) now delivers **native compiled binaries** instead of a Node.js-based package. This means faster startup, no runtime dependencies, and a smaller install footprint on macOS and Linux.

Supported platforms and architectures:

- macOS Apple Silicon (arm64)
- macOS Intel (x64)
- Linux arm64
- Linux x64

Install or upgrade with Homebrew:

```sh
brew install appwrite # new install
brew upgrade appwrite # existing install
```

The CLI is still available via npm (`npm install -g appwrite-cli`) and platform-specific install scripts for environments where Homebrew is not an option.

{% arrow_link href="/docs/tooling/command-line/installation" %}
Read the updated installation docs
{% /arrow_link %}
66 changes: 37 additions & 29 deletions src/routes/docs/tooling/command-line/installation/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,47 @@ The [Appwrite Command Line Interface (CLI)](https://github.com/appwrite/sdk-for-

# Getting started {% #getting-started %}

The CLI is packaged both as an [npm module](https://www.npmjs.com/package/appwrite-cli) as well as a [standalone binary](https://github.com/appwrite/sdk-for-cli/releases/latest) for your operating system, making it completely dependency free, platform independent, and language agnostic.
The CLI is packaged as a [native binary](https://github.com/appwrite/sdk-for-cli/releases/latest) for macOS and Linux (via Homebrew), as an [npm module](https://www.npmjs.com/package/appwrite-cli), and as a standalone install script for all platforms.

If you plan to use the CLI to initialize new Appwrite Functions, ensure that [Git is installed](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) on your machine.

## Install with npm {% #install-with-npm %}
## Install with Homebrew (recommended) {% #install-with-homebrew %}

If you have npm set up, run the command below to install the CLI.
On macOS and Linux, [Homebrew](https://brew.sh/) is the recommended way to install the Appwrite CLI. Homebrew delivers a **native compiled binary** for your platform and architecture, so there are no runtime dependencies and startup is instant.

{% tabs %}
{% tabsitem #macos title="macOS" %}
```sh
npm install -g appwrite-cli
brew install appwrite
```
{% /tabsitem %}

## Install with script {% #install-with-script %}
{% tabsitem #linux title="Linux" %}
Install [Homebrew for Linux](https://docs.brew.sh/Homebrew-on-Linux), then run:

For a completely dependency-free installation, the CLI also ships with a convenient installation script for your operating system
```sh
brew install appwrite
```
{% /tabsitem %}

{% tabs %}
{% tabsitem #macos title="macOS" %}
{% /tabs %}

Supported architectures: Apple Silicon (arm64), Intel (x64), Linux arm64, and Linux x64.

Using [Homebrew](https://brew.sh/)
## Install with npm {% #install-with-npm %}

If you have npm set up, you can install the CLI as a Node.js package. This works on any platform where Node.js runs.

```sh
brew install appwrite
npm install -g appwrite-cli
```

or terminal
## Install with script {% #install-with-script %}

The CLI also ships with installation scripts for platforms where Homebrew is not available.

{% tabs %}
{% tabsitem #macos title="macOS" %}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Inconsistent tab titles in "Install with script" section

The macOS and Linux tabs in the "Install with script" section are labeled "macOS" and "Linux" (lines 51, 72), but the analogous tabs in the Update and Uninstall sections are labeled "macOS (script)" and "Linux (script)" (lines 95, 107, 226, 247). A user skimming only the install section won't see the (script) qualifier that distinguishes them from the Homebrew tabs above. Making the labels consistent would reduce ambiguity.

Suggested change
{% tabsitem #macos title="macOS" %}
{% tabsitem #macos title="macOS (script)" %}

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

```sh
curl -sL https://appwrite.io/cli/install.sh | bash
```
Expand Down Expand Up @@ -66,22 +80,19 @@ curl -sL https://appwrite.io/cli/install.sh | bash
# Update your CLI {% #update-your-cli %}

{% tabs %}
{% tabsitem #npm title="npm" %}
{% tabsitem #homebrew title="Homebrew" %}
```sh
npm install -g appwrite-cli
brew upgrade appwrite
```
{% /tabsitem %}

{% tabsitem #macos title="macOS" %}

Using [Homebrew](https://brew.sh/)

{% tabsitem #npm title="npm" %}
```sh
brew install appwrite
npm install -g appwrite-cli
```
{% /tabsitem %}

or terminal

{% tabsitem #macos title="macOS (script)" %}
```sh
curl -sL https://appwrite.io/cli/install.sh | bash
```
Expand All @@ -93,7 +104,7 @@ iwr -useb https://appwrite.io/cli/install.ps1 | iex
```
{% /tabsitem %}

{% tabsitem #linux title="Linux" %}
{% tabsitem #linux title="Linux (script)" %}
```sh
curl -sL https://appwrite.io/cli/install.sh | bash
```
Expand Down Expand Up @@ -203,19 +214,16 @@ If you installed Appwrite CLI using NPM, you can use the following command to un
npm uninstall -g appwrite-cli
```

If you installed the Appwrite CLI with brew or the installation script for your operating system, use the following command to uninstall it.
If you installed the Appwrite CLI with Homebrew or the installation script for your operating system, use the following command to uninstall it.

{% tabs %}
{% tabsitem #macos title="macOS" %}

Using [Homebrew](https://brew.sh/)

{% tabsitem #homebrew title="Homebrew (macOS / Linux)" %}
```sh
brew uninstall appwrite
```
{% /tabsitem %}

or terminal

{% tabsitem #macos title="macOS (script)" %}
```sh
rm -f /usr/local/bin/appwrite | bash
```
Expand All @@ -236,7 +244,7 @@ scoop uninstall appwrite
```
{% /tabsitem %}

{% tabsitem #linux title="Linux" %}
{% tabsitem #linux title="Linux (script)" %}
```sh
rm -f /usr/local/bin/appwrite | bash
```
Expand Down
Loading