If moon starts, begin with moon doctor: it checks the installation, the network and your account, and tells you what to fix. Otherwise, find your case below. Each case gives the message you see, its cause and the commands to copy, for Windows (PowerShell and Command Prompt), macOS and Linux.
Moon CLI and its installer display their messages in French. This page quotes them exactly as they appear, followed by their meaning in English.
moonis not recognized after the installation- The installer won’t run: execution policy, antivirus, missing
curlorirm, proxy - The checksum or signature doesn’t match
- Sign-in doesn’t work
- Updates and versions
- Uninstall or reinstall cleanly
- WSL, macOS and Linux
- Messages at startup and during a session
- Remote control (moon rc)
Run a diagnosticLink to the Run a diagnostic section
moon doctorEach line is marked ✓ (fine), ! (worth checking), ✗ (needs fixing) or · (information), with advice after “→” when you need to act. The last line sums it up: “✓ Tout est en ordre” (everything is fine), “! N points à vérifier” (N things to check) or “✗ N problèmes à corriger” (N problems to fix). The exit code is 1 if a problem still needs fixing.
| Line | What it means | If it shows ! or ✗ |
|---|---|---|
| “Moon CLI 0.6.1” | The running version and the path to the binary. | Information only. |
| “Agent …” | The built-in coding agent is present. | “Agent Moon introuvable” (Moon agent not found): reinstall. |
| “MOON_OPENCODE_DIR est défini mais ignoré (dépendances non installées)” (MOON_OPENCODE_DIR is set but ignored, dependencies not installed) | A development variable points to an incomplete agent folder. | Remove MOON_OPENCODE_DIR from your profile. |
| “… est défini” (… is set) | An environment variable (MOON_BASE_URL, MOON_BLUR_MODE…) overrides the normal setting. | Remove it from your profile if you didn’t mean to set it. |
| “Dossiers” (folders) | Where Moon CLI keeps its state and settings. | Information only. |
| “chat.realmoon.ai résolu” (chat.realmoon.ai resolved) | DNS finds the Moon AI host name. With an IP address in MOON_BASE_URL (local development), the line reads “… : adresse IP, sans résolution DNS” (IP address, no DNS lookup). | “introuvable (DNS)” (not found, DNS): check your connection or your DNS. Before Moon CLI 0.5.1, an address written as an IP and a port was wrongly reported as not found. |
| “Moon AI joignable (HTTP 200)” (Moon AI reachable) | Moon AI answers over HTTPS. | “Certificat refusé (proxy d’entreprise ?)” (certificate rejected, corporate proxy?), “Moon AI injoignable” (Moon AI unreachable), “Moon AI répond HTTP N” (Moon AI answers HTTP N), “Bloqué par le pare-feu de Moon AI” (blocked by the Moon AI firewall): see Network and proxy. |
| “Horloge décalée de N s” (clock off by N s) | The computer’s time differs from Moon AI’s by more than 5 minutes. | Sync the system clock: a clock that is off can get the session rejected. |
| “Proxy réseau défini” (network proxy set) | An HTTPS_PROXY, HTTP_PROXY or ALL_PROXY variable is set, shown with the value of NO_PROXY. | Information only. |
| “Connexion locale 127.0.0.1” (local connection) | Moon CLI can reach its own component on this computer. | “127.0.0.1 ne répond pas” (127.0.0.1 doesn’t respond): add 127.0.0.1, to NO_PROXY (see Network and proxy). |
| “Connecté, session valable encore N jours” (signed in, session valid for N more days) | Your session, and where the token is stored (system keychain or auth.json). | “Non connecté” (not signed in) or “Session expirée” (session expired): moon login. “Compte non vérifié (Moon AI injoignable)” (account not checked, Moon AI unreachable): the session is there, but Moon AI didn’t answer; see Network and proxy. |
| “Workspace …” | The session’s workspace, its plan (the plan name is not shown for some organizations) and access to Moon CLI (“accès Moon CLI actif”, Moon CLI access active). | “forfait Étoile ou supérieur requis” (Étoile plan or higher required), “paiement de l’abonnement en échec” (subscription payment failed), “abonnement terminé” (subscription ended), “aucun workspace” (no workspace): see Plan. |
| “Moon Blur imposé par votre workspace” (Moon Blur required by your workspace) | Your organization requires Moon Blur. | Information only. |
| “Moon Blur : …” and “Moon Guard : …” | Your protection settings. | “Moon Blur : off” shows as !: see Moon Blur. |
| “Configuration d’agent du dépôt …” (repository agent configuration) | The current folder contains an agent configuration, approved or not. | See Repository configuration. |
| “… Ko envoyés à chaque appel” (… KB sent with every call) | An instructions file is larger than 40 KB. | Shorten it: see Slow startup. |
| “Moon CLI est à jour” (Moon CLI is up to date) | No newer version on the channel you follow. | “Version … disponible” (version … available): moon update. “Version de développement (canal … : …)” (development version): your version is newer than the channel’s, nothing to do. “Mise à jour : canal illisible pour l’instant” (update: channel unreadable for now): Moon AI didn’t answer, try again later. Before 0.3.1, the diagnostic showed “Version en avance sur la publication (0.2.0)” (version ahead of the release) even when an update existed: run moon update. |
| “Copie hors de l’installation de Moon CLI” (copy outside the Moon CLI installation) | The moon you ran is not the installed one (a copy placed somewhere else). | moon update doesn’t update it. Run the installed moon, or set MOON_INSTALL_DIR to the copy’s folder to manage it. |
| “Réglages par défaut” (default settings) | You have never changed a Moon CLI setting, so the settings file doesn’t exist yet. | Information only. |
When you ask for help, attach the JSON version. It doesn’t contain your token:
moon doctor --json > diagnostic.json“moon” is not recognized after the installationLink to the “moon” is not recognized after the installation section
The installation ended with “Moon CLI … est installe.” (Moon CLI … is installed), but the terminal answers:
PowerShell : moon : The term 'moon' is not recognized as the name of a cmdlet, function, script file, or operable program.
cmd : 'moon' is not recognized as an internal or external command, operable program or batch file.
bash : bash: moon: command not found
zsh : zsh: command not found: moonThe cause is almost always the same: the binary is installed, but the folder that holds it is not in the PATH of the terminal you are using. The terminal was opened before the installation, Windows hasn’t reread the PATH yet, the installer set up a different shell than yours, or adding to the PATH was turned off (MOON_NO_MODIFY_PATH=, --no-modify-path).
On WindowsLink to the On Windows section
- Close every terminal window, including all Windows Terminal windows and your editor’s built-in terminal, then open a new one. The installer says so: “Ouvrez un NOUVEAU terminal” (open a NEW terminal).
- Check that the binary is there, in
%LOCALAPPDATA%\Moon(theAppData\Local\Moonfolder of your profile):
Test-Path "$env:LOCALAPPDATA\Moon\moon.exe"
& "$env:LOCALAPPDATA\Moon\moon.exe" --versiondir "%LOCALAPPDATA%\Moon\moon.exe"
"%LOCALAPPDATA%\Moon\moon.exe" --versionIf the file is missing (False, “File Not Found”), the installation didn’t finish: run it again (see Reinstall). If it answers “Moon CLI …”, only the PATH is at fault.
- Check whether the folder is in your account’s
PATH:
[Environment]::GetEnvironmentVariable('Path', 'User') -split ';'reg query HKCU\Environment /v Path- If it’s missing, add it through Windows Settings, which is the most reliable way: press the Windows key, type “environment variables” and open “Edit environment variables for your account”; under “User variables”, select
Path, then “Edit…”; click “New”, paste%LOCALAPPDATA%\Moon, then “OK” in both windows. That “OK” notifies Windows: terminals opened afterward see the newPATH.
Or in PowerShell, without touching the other entries (the installer does the same):
$dir = "$env:LOCALAPPDATA\Moon"
$key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true)
$path = [string]$key.GetValue('Path', '', 'DoNotExpandEnvironmentNames')
if (($path -split ';') -notcontains $dir) { $key.SetValue('Path', "$(if ($path) { $path.TrimEnd(';') + ';' })$dir", 'ExpandString') }
$key.Close()Writing directly to the registry doesn’t notify Windows: afterward, sign out of Windows and back in, or open the environment variables window and click “OK”.
- In the meantime, for the window that’s already open only:
$env:Path += ";$env:LOCALAPPDATA\Moon"
moon --versionset "PATH=%PATH%;%LOCALAPPDATA%\Moon"
moon --versionGood to know:
- If you installed with
MOON_INSTALL_DIR, replace%LOCALAPPDATA%\Moonwith that folder. - Install with your usual account, without “Run as administrator”: Moon CLI doesn’t need administrator rights, and a console opened with another account would install it in that account’s profile.
On macOS and LinuxLink to the On macOS and Linux section
The command is the ~/ link (or the MOON_INSTALL_DIR folder you chose), which points to ~/.
- Check the link and run it by its path:
ls -l ~/.local/bin/moon
~/.local/bin/moon --versionIf the link is missing, reinstall. If it answers “Moon CLI …”, only the PATH is at fault.
- Check whether the folder is in the
PATH:
echo "$PATH" | tr ':' '\n' | grep -x "$HOME/.local/bin"If nothing is printed, it’s missing. The installer adds it to the startup file of the shell given by $SHELL (echo $SHELL), between # and # : ~/.zshrc for zsh (the default shell on macOS), ~/.bashrc for bash on Linux, ~/ for bash on macOS, ~/.profile for others, ~/ for fish. If your terminal runs a different shell than $SHELL, the block is in the wrong file.
- Add the folder to your shell’s file, then reload it:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcecho 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcecho 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profilefish_add_path ~/.local/bin- If
moonruns an old version or another program, list everything namedmoonin thePATH:
which -a moon
hash -rmoon must print “Moon CLI …”. Another tool may also be called moon: put ~/.local/bin first in the PATH, or remove the other program.
The installer won’t runLink to the The installer won’t run section
The installer shows its errors in red, without accents, after “ERREUR :” (error:). Nothing is replaced until it has finished: a version that’s already installed stays in place.
PowerShell execution policyLink to the PowerShell execution policy section
File C:\...\install.ps1 cannot be loaded because running scripts is disabled on this system.This message comes from an install.ps1 file that was downloaded and then run with .\install.ps1. The usual installation command doesn’t create a file and isn’t affected:
irm https://realmoon.ai/install.ps1 | iexTo run the file anyway, lift the restriction for that one command, or for the open window only:
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\install.ps1Don’t change the policy for the whole computer (Set-ExecutionPolicy or -Scope ): it isn’t needed. The Command Prompt installer (install.cmd) already does the equivalent of the first line. On a computer managed by your company, if PowerShell stays blocked, ask your IT department to allow the installation.
Antivirus, SmartScreen and Smart App ControlLink to the Antivirus, SmartScreen and Smart App Control section
Since Moon CLI 0.5.3, the Moon CLI binary for Windows is signed in the name of STELLARR STUDIO (timestamped Authenticode signature): see Verify the checksums. The installer downloads and runs it from PowerShell, without going through the browser, so the SmartScreen window “Windows protected your PC” normally doesn’t appear. However, you may see this (error: the binary doesn’t start on this machine):
ERREUR : Le binaire ne demarre pas sur cette machine.- Smart App Control (Windows 11) may refuse an unknown executable that isn’t signed, such as Moon CLI 0.5.2 and earlier versions. The installer then stops at its startup test, without replacing anything: install the latest version, which is signed. If Windows still refuses a signed version, check that the signer is STELLARR STUDIO, then contact support. Smart App Control can’t allow a single program: don’t turn it off for Moon CLI. In the meantime, use Moon CLI in WSL.
- An antivirus may quarantine
moon.exe. Check the alert in “Windows Security” › “Virus & threat protection” › “Protection history”. Before allowing the file, compare its checksum with the published list: see Verify the checksums. If in doubt, don’t allow anything and contact support. - A binary downloaded by hand from the browser may trigger SmartScreen. Don’t install Moon CLI by hand: the installation command verifies the checksums and tests the binary.
curl or irm not foundLink to the curl or irm not found section
irmin the Command Prompt: “’irm’ is not recognized…”.irmis a PowerShell command. Open PowerShell, or use the Command Prompt command:
curl -fsSL https://realmoon.ai/install.cmd -o install.cmd && install.cmd && del install.cmdcurl -fsSLin Windows PowerShell 5.1: there,curlis an alias forInvoke-WebRequest, which rejects the-fsSLoptions. In PowerShell, useirm.https:// realmoon.ai/ install.ps1 | iex - Windows without
curl.exe(Windows 10 versions older than 1803): use the PowerShell command. - macOS and Linux: “curl: command not found” or “ERREUR : curl est requis.” (error: curl is required). Install curl, then run the installation again:
sudo apt install curlsudo dnf install curlapk add curlsudo pacman -S curlThe installer also needs gzip (“ERREUR : gzip est requis.”, error: gzip is required) and sha256sum or shasum (“ERREUR : sha256sum ou shasum introuvable.”, error: sha256sum or shasum not found): install the gzip package, or coreutils for sha256sum.
Corporate network and proxyLink to the Corporate network and proxy section
The installer may stop with one of these messages (error: Moon AI unreachable, check your connection and error: download failed, try again in a few minutes):
ERREUR : Moon AI injoignable (https://realmoon.ai/dl). Verifiez votre connexion.
ERREUR : Telechargement impossible. Reessayez dans quelques minutes.On macOS and Linux, the first message stops at “Moon AI injoignable (https://realmoon.ai/dl).”; only the Windows installer adds “Verifiez votre connexion.” (check your connection).
During the installation
- macOS, Linux, WSL: curl reads the
HTTPS_PROXYvariable. Set your proxy, then run the installation again in the same terminal:
export HTTPS_PROXY=http://proxy.example.com:8080
curl -fsSL https://realmoon.ai/install.sh | sh- Windows PowerShell (5.1) uses the system proxy (“Settings” › “Network & internet” › “Proxy”). If the proxy asks for your Windows credentials, pass them before the installation, in the same window:
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
irm https://realmoon.ai/install.ps1 | iex- If your network filters websites, ask for HTTPS access to
realmoon.ai(downloads) andchat.realmoon.ai(the service).
Then, for Moon CLI
Moon CLI reads HTTPS_PROXY and NO_PROXY. Keep local addresses out of the proxy: Moon CLI goes through a component that runs on your computer.
echo 'export HTTPS_PROXY=http://proxy.example.com:8080' >> ~/.zshrc
echo 'export NO_PROXY=127.0.0.1,localhost' >> ~/.zshrc[Environment]::SetEnvironmentVariable('HTTPS_PROXY', 'http://proxy.example.com:8080', 'User')
[Environment]::SetEnvironmentVariable('NO_PROXY', '127.0.0.1,localhost', 'User')Then open a new terminal (with bash, write to ~/.bashrc instead of ~/.zshrc).
moon doctor result | What to do |
|---|---|
| “Certificat refusé (proxy d’entreprise ?)” (certificate rejected, corporate proxy?) | Your network intercepts HTTPS: point to your company’s certificate with NODE_EXTRA_CA_CERTS=/. For the installer, the certificate must be installed in the system: ask your IT department. |
| “Moon AI injoignable” (Moon AI unreachable) behind a proxy | Set HTTPS_PROXY as shown above. |
| “127.0.0.1 ne répond pas” (127.0.0.1 doesn’t respond) | A proxy or an antivirus intercepts local connections: add 127.0.0.1, to NO_PROXY. |
| “Bloqué par le pare-feu de Moon AI” (blocked by the Moon AI firewall) | Contact support with the output of moon . |
The checksum or signature doesn’t matchLink to the The checksum or signature doesn’t match section
! empreinte inattendue, nouvelle tentative
ERREUR : Empreinte du binaire invalide.
Mise à jour impossible : empreinte du téléchargement invalide.
Mise à jour impossible : empreinte du binaire invalide.
Mise à jour impossible : signature du manifeste invalide : mise à jour refusée.
Mise à jour impossible : le canal de mise à jour sert un manifeste plus ancien que le dernier vu : mise à jour refusée.
Mise à jour impossible : le canal de mise à jour « … » sert le manifeste du canal « … » : mise à jour refusée.In order, these messages say: unexpected checksum, trying again; invalid binary checksum; update failed because of an invalid download checksum, an invalid binary checksum, an invalid manifest signature, a channel serving a manifest older than the last one seen, or a channel serving another channel’s manifest.
What it means: the file you received is not the one Stellarr Studio published. The installer checks the SHA-256 checksum of the download, then of the binary; updates also check a manifest signed with a key built into Moon CLI. At the slightest mismatch, nothing is installed and your current version stays in place. Most often, the download was cut off, or a proxy or antivirus changed the file along the way; more rarely, someone tried to serve you a different binary.
Never force it: don’t download the binary by hand from another address, don’t edit any Moon CLI file, and don’t turn off the checks or your antivirus to push the installation through.
- Try again a few minutes later: the installer already makes three attempts.
- Try from another network, without a proxy (your phone’s hotspot, for example).
- If your company inspects HTTPS traffic, check with its IT department.
- If the message comes back, contact support with the exact message and
moon(see Contact support).doctor --json
An installation older than 0.2.1 may refuse a version signed with a new release key (“signature du manifeste invalide”, invalid manifest signature). Go through 0.2.1 first, which contains the new keys, or run the installer again:
moon update --to 0.2.1
moon updateSign-in doesn’t workLink to the Sign-in doesn’t work section
The browser doesn’t openLink to the The browser doesn’t open section
moon login prints “Ouverture du navigateur pour vous connecter à Moon AI…” (opening the browser to sign you in to Moon AI), then “Si rien ne s’ouvre, ouvrez ce lien :” (if nothing opens, open this link) followed by an address. Open that address in a browser on the same computer: the page sends the sign-in back to Moon CLI through 127.0.0.1, the computer itself. From another device, sign in with a code.
Over SSH, on a server or in a containerLink to the Over SSH, on a server or in a container section
In an SSH session, or on Linux without a graphical display, Moon CLI switches to sign-in with a code on its own. To force it:
moon login --deviceThe terminal shows “Sur un appareil avec navigateur, ouvrez :” (on a device with a browser, open), an address, then “Et entrez le code :” (and enter the code). Open the address on your phone or another computer, enter the code and authorize the device. The code stays valid for 10 minutes: after “Échec de la connexion par code (expired)” (code sign-in failed, expired), run moon again. Details: Sign in without a browser.
In WSLLink to the In WSL section
Moon CLI runs xdg-open: depending on the distribution, the Windows browser opens, or nothing happens. If nothing opens, copy the link shown into your Windows browser: WSL 2 usually relays 127.0.0.1 between Windows and Linux. If the page keeps waiting or fails, use moon .
TimeoutLink to the Timeout section
“Échec de la connexion navigateur (timeout).” (browser sign-in failed, timeout): Moon CLI waits 5 minutes at most. The browser page then shows “Moon CLI is no longer responding”. Run moon login again. With Safari, if the terminal doesn’t react, use the link “My terminal is open but nothing happens (Safari). Send the code manually”.
PlanLink to the Plan section
Moon CLI may refuse to start with one of these messages (Moon CLI requires an Étoile subscription or higher and the workspace … doesn’t have the Étoile plan Moon CLI requires):
! Moon CLI requiert un abonnement Étoile ou supérieur.
! Le workspace « … » (…) n’a pas le forfait Étoile requis pour Moon CLI.Moon CLI is included from the Étoile plan up, on the session’s workspace. Since Moon CLI 0.4.1, if only one of your workspaces includes it (your organization’s license, for example), Moon CLI picks it on its own at startup and says so: “Workspace de Moon CLI : …, le seul de vos workspaces qui inclut Moon CLI.” (Moon CLI workspace: …, the only one of your workspaces that includes Moon CLI). If several do, choose one; otherwise, change your plan at chat.realmoon.ai/billing (see pricing).
moon workspace
moon workspace use <name or number>Other refusals at startup: the workspace’s subscription payment failed, the subscription has ended, or no workspace is linked to the session. See Startup messages.
Expired or revoked tokenLink to the Expired or revoked token section
moon doctorshows “Session expirée” (session expired) or “Session refusée par Moon AI (expirée ou révoquée)” (session rejected by Moon AI, expired or revoked): runmoon login.- When you start
moon, a rejected session triggers a new sign-in on its own. - A session renews itself, but asks for a new browser sign-in 90 days after you signed in: “Votre connexion à Moon CLI date de plus de 90 jours.” (your Moon CLI sign-in is more than 90 days old). See Session length.
- A session revoked from the app (“Settings” › “Account and security”) or with “Sign out everywhere” also needs
moon login.
The wrong accountLink to the The wrong account section
moon whoami shows the session’s account and workspace. The authorization page uses the account signed in to your browser: to switch, first sign in to chat.realmoon.ai with the right account, then:
moon logout
moon loginUpdates and versionsLink to the Updates and versions section
moon --version
moon update
moon rollbackmoonprints “Moon CLI …” on its first line.--version - Moon CLI updates itself, at most once a day, during a session; the new version is used the next time you start
moon. See Automatic updates.
moon update message | What to do |
|---|---|
| “Moon CLI … est à jour.” (Moon CLI … is up to date) | Nothing. |
| “Moon CLI … est installé. Il sera utilisé au prochain lancement de « moon ».” (Moon CLI … is installed and will be used the next time you run moon) | Quit your open moon sessions and start moon again. |
| “Une mise à jour est déjà en cours dans une autre session.” (an update is already running in another session) | Wait for the other session to finish, then run moon update again. |
| “La version … n’est pas encore publiée pour votre plateforme (…).” (version … is not published for your platform yet) | Your version stays in place; try again later. |
| “Mise à jour impossible : la nouvelle version ne démarre pas sur cette machine : installation annulée.” (update failed: the new version doesn’t start on this machine, installation canceled) | Your version stays in place. Contact support with moon . |
| “Mise à jour impossible :” (update failed:) followed by a checksum or signature | See The checksum or signature doesn’t match. |
| “Ce moon (…) n’est pas celui de l’installation de Moon CLI (…) : rien n’a été mis à jour.” (this moon is not the one from the Moon CLI installation, nothing was updated) | Since 0.3.1, moon update, moon and moon run from a copy don’t touch the installation. Run the command with the installed moon, or set MOON_INSTALL_DIR to the copy’s folder. |
If a new version gets in your way, go back to the previous one: moon asks “Revenir à la version précédente de Moon CLI ? [o/N]” (go back to the previous version of Moon CLI?), then prints “Moon CLI … est de nouveau la version active (au prochain lancement).” (Moon CLI … is the active version again, from the next start). Any answer other than o (oui, yes) prints “Retour arrière annulé.” (rollback canceled). Without an interactive terminal (script, continuous integration), add --yes: moon . If there is no previous version on the machine, you get “Retour arrière impossible : aucune version précédente sur cette machine.” (rollback impossible: no previous version on this machine); use moon instead.
Uninstall or reinstall cleanlyLink to the Uninstall or reinstall cleanly section
Reinstall: run the installation command again. It replaces the binary and keeps your settings, your sign-in and the session history.
irm https://realmoon.ai/install.ps1 | iexcurl -fsSL https://realmoon.ai/install.sh | shStart from scratch: uninstall and erase everything, then reinstall.
moon uninstall --purge --yesmoon first revokes your session with Moon AI, then removes the binary, the installed versions and the PATH entry. Without --purge, your settings and the session history are kept. On Windows, open a new terminal afterward.
If moon doesn’t start at all: revoke the session in the app under “Settings” › “Account and security”, then delete the folders by hand: see Uninstall by hand. For where the files are, see Where the files live.
WSL, macOS and LinuxLink to the WSL, macOS and Linux section
Ten platforms are published: Windows x64 (and its build without AVX2) and ARM64, macOS Apple Silicon and Intel, Linux x64 (glibc, musl, without AVX2) and ARM64 (glibc, musl). The installer picks the right one. See Supported platforms.
WSLLink to the WSL section
- In WSL, install Moon CLI with the Linux command (
curl). It is a separate installation from the Windows one, with its own sign-in.-fsSL https:// realmoon.ai/ install.sh | sh - In Git Bash or MSYS, the Linux installer stops: “ERREUR : Sous Windows, utilisez PowerShell : irm https://realmoon.ai/install.ps1 | iex” (error: on Windows, use PowerShell).
- Preferably work in a Linux folder (
~/projects): Windows folders (/mnt/c/…) are slower to browse from WSL. - For signing in, see In WSL.
macOSLink to the macOS section
- When installed with
curl … | sh, the binary isn’t flagged as coming from the internet, so Gatekeeper doesn’t stop it. A binary downloaded by hand in the browser, on the other hand, would be blocked. Don’t bypass Gatekeeper: use the installation command. - “Killed: 9” at startup: macOS refused a binary whose signature no longer matches (a copied or modified file). Reinstall with the installation command.
- On an Intel Mac, the installer uses the Intel build; in a terminal running under Rosetta on an Apple Silicon Mac, it still uses the Apple Silicon build.
LinuxLink to the Linux section
| Installer message | What to do |
|---|---|
| “Architecture non prise en charge (…)” (unsupported architecture) | Moon CLI exists for x64 and ARM64 (64-bit) only, not for 32-bit systems (armv7l, i686). |
| “Systeme non pris en charge (…)” (unsupported system) | Moon CLI runs on Linux, macOS and Windows. |
| “Moon CLI a besoin de libstdc++ et libgcc. Installez-les : apk add libstdc++ libgcc” (Moon CLI needs libstdc++ and libgcc, install them) | Alpine and other musl systems: install these two packages, then run the installation again. |
| “Moon CLI … n’est pas publie pour …” (Moon CLI … is not published for …) | That version doesn’t exist for this platform; the installer lists the ones that do. |
| “Le binaire ne demarre pas sur cette machine (…)” (the binary doesn’t start on this machine) | The binary doesn’t start on this system, a very old distribution for example. Contact support with the output of uname -m and ldd . |
The installer detects glibc or musl on its own, as well as processors without AVX2 (the “baseline” build).
Startup messagesLink to the Startup messages section
| Message | What to do |
|---|---|
| “Connexion Moon AI requise. Dans un terminal : moon login” (Moon AI sign-in required; in a terminal, run moon login) | Moon CLI was started without an interactive terminal and without a session: sign in from a terminal (see Sign in), or, in continuous integration, set MOON_API_KEY to a workspace API key. In a terminal, sign-in starts on its own. |
| “Non connecté. Lancez : moon login” (not signed in; run moon login) | Shown by moon whoami, moon or moon without a session: run moon login. |
| “Le workspace « … » (…) n’a pas le forfait Étoile requis pour Moon CLI.” (the workspace … doesn’t have the Étoile plan Moon CLI requires) | Choose a workspace that includes it (moon ) or change your plan at chat.realmoon.ai/billing. |
| “Le paiement de l’abonnement du workspace « … » a échoué.” (the subscription payment for workspace … failed) | Settle the payment at chat.realmoon.ai/billing, or choose another workspace. |
| “L’abonnement du workspace « … » est terminé.” (the subscription for workspace … has ended) | Renew the subscription, or choose another workspace. |
| “Aucun workspace n’est associé à cette session.” (no workspace is linked to this session) | Run moon , then moon . |
| “Connexion refusée par Moon AI.” (sign-in refused by Moon AI) | Try again later; if it keeps happening, contact support (see below). |
| “MOON_API_KEY refusée par Moon AI (clé révoquée ou invalide).” (MOON_API_KEY rejected by Moon AI, revoked or invalid key) | The workspace key used in continuous integration is no longer valid: create a new one and replace the variable. |
| “Configuration du dépôt ignorée pour cette session (AGENTS.md, CLAUDE.md et skills compris).” (repository configuration ignored for this session, including AGENTS.md, CLAUDE.md and skills) | You answered no to “Faire confiance à cette configuration ?” (trust this configuration?). Without an interactive terminal, the repository configuration is ignored without a message. See Repository configuration. |
| “Agent Moon introuvable sur cet ordinateur.” (Moon agent not found on this computer) or “Impossible de lancer l’agent Moon (« … »). Réinstallez Moon CLI, ou lancez « moon doctor ».” (couldn’t start the Moon agent; reinstall Moon CLI, or run moon doctor) | Reinstall. |
| “Moon AI est injoignable. Réessayez dans un instant, ou lancez « moon doctor ».” (Moon AI is unreachable; try again in a moment, or run moon doctor) or “Moon AI ne répond pas correctement. …” (Moon AI isn’t responding properly) | Try again in a moment, then run moon doctor. |
Messages during a sessionLink to the Messages during a session section
| Message | What to do |
|---|---|
| “Moon CLI demande le forfait Étoile ou supérieur sur le workspace actif.” (Moon CLI requires the Étoile plan or higher on the active workspace) | Switch workspace (/workspace) or plan. |
| “Le paiement de l’abonnement de ce workspace a échoué.” (this workspace’s subscription payment failed) | Settle the payment at chat.realmoon.ai/billing, or switch workspace (/workspace). |
| “L’abonnement de ce workspace est terminé.” (this workspace’s subscription has ended) | Renew it at chat.realmoon.ai/billing, or switch workspace (/workspace). |
| “Erreur Moon AI : Désactivé par votre organisation.” (Moon AI error: disabled by your organization) | Your organization has closed Moon CLI to its members: check with its administrator. |
| “Session Moon CLI expirée ou révoquée.” (Moon CLI session expired or revoked) | Quit Moon, then start moon again: signing in again starts on its own. |
| “Votre connexion à Moon CLI date de plus de 90 jours.” (your Moon CLI sign-in is more than 90 days old) | Quit Moon, then run moon login. |
| “Limite d’utilisation de la session de 5 h atteinte. Elle se libère à …” (5-hour session usage limit reached; it frees up at …), or the same for the week or the month | Wait until the time shown, choose a more economical model (/models), or move to a higher plan. See Usage limits. |
| “Cette requête dépasse ce que votre forfait permet en un seul tour avec ce modèle.” (this request exceeds what your plan allows in a single turn with this model) | Choose a more economical model (/models), or reduce the context (/compact). |
| “Ce modèle n’est pas inclus dans votre forfait.” (this model isn’t included in your plan) | Choose another model (/models). |
| “Ce modèle ne sait pas utiliser les outils de l’agent (fichiers, commandes).” (this model can’t use the agent’s tools, files and commands) | Choose another model (/models). |
| “Modèle introuvable ou retiré.” (model not found or retired) | Choose another model (/models). |
| “Vous ne faites plus partie du workspace de cette session.” (you are no longer a member of this session’s workspace) | Choose another workspace (/workspace). |
| “La requête est trop volumineuse pour Moon AI.” (the request is too large for Moon AI) | Compact the conversation (/compact) or remove large files from the context. |
| “Trop de requêtes en peu de temps.” (too many requests in a short time) | Wait for the delay shown. The number of simultaneous requests per seat is limited, for example when the agent starts several subtasks at once. |
| “Moon AI ou le fournisseur du modèle est momentanément indisponible.” (Moon AI or the model provider is temporarily unavailable) | Try again in a few seconds. |
| “Moon AI est injoignable (réseau).” (Moon AI is unreachable, network) | Check your connection, then run moon doctor. |
| “Moon Blur (mode strict) : … rien n’a été envoyé.” (Moon Blur, strict mode: … nothing was sent) | Remove the secret from the message, or switch to secrets mode with /blur. See Moon Blur. |
| “La protection de Moon CLI (Moon Guard) ne s’est pas chargée …” (Moon CLI’s protection, Moon Guard, didn’t load) | Start moon again, then run moon doctor if it persists. |
| “Cette action n’est pas autorisée depuis Moon CLI.” (this action isn’t allowed from Moon CLI) | Do this action in the app, at chat.realmoon.ai. |
| “Réponse interrompue : elle a atteint la longueur maximale d’une réponse, réflexion du modèle comprise …” (response cut off: it reached the maximum length of a response, including the model’s reasoning) | Type “continue” for the rest. See Response cut off. |
| “La connexion au modèle s’est coupée à la fin de cette réponse. Si elle vous semble incomplète, écrivez « continue ».” (the connection to the model dropped at the end of this response; if it looks incomplete, type continue) | Type “continue” if the response looks incomplete. See Response cut off. |
| “Le modèle n’a rien répondu, deux fois de suite …” (the model returned nothing, twice in a row) | Try again, or choose another model (/models). Nothing is lost. |
Response cut offLink to the Response cut off section
A model that reasons a lot can spend the entire length allowed for a response on its reasoning. Since Moon CLI 0.5.5:
- More room: Moon CLI leaves more room for the response of a model that has reasoning levels, reasoning included. This also applies in Auto mode, when the chosen model reasons.
- One retry: when the reasoning takes up all the room before the first word and before any action, Moon CLI sends the same request once more at the model’s lowest reasoning level, without asking you. Moon Blur applies to the retry just as it does to the original request.
- Otherwise, a message: the response ends with “Réponse interrompue : elle a atteint la longueur maximale d’une réponse, réflexion du modèle comprise.” (response cut off: it reached the maximum length of a response, including the model’s reasoning), or “…, même après un nouvel essai avec moins de réflexion.” (even after a retry with less reasoning) when the retry happened, then “Écrivez « continue » pour la suite.” (type continue for the rest). When a lower level exists and hasn’t been tried yet, the message also suggests choosing one (
/variants). - A cut-off action is not run: if the limit hits while the model is writing an action, a half-written file for example, the action is not run and the message names it, with this advice: “Un long contenu s’écrit mieux en plusieurs étapes.” (long content is better written in several steps). “continue” picks up where it left off.
A response can also stop because the model breaks off partway through. Since Moon CLI 0.6.1:
- The text is no longer rewritten: when the connection to the model drops after some text has already been shown, Moon keeps that text instead of starting the response over, and adds “(La connexion au modèle s’est coupée à la fin de cette réponse. Si elle vous semble incomplète, écrivez « continue ».)” (the connection to the model dropped at the end of this response; if it looks incomplete, type continue).
- An empty response is requested again once, without asking you. If it comes back empty again, Moon stops with “Le modèle n’a rien répondu, deux fois de suite (réponse vide de son fournisseur). Rien n’est perdu : réessayez, ou choisissez un autre modèle.” (the model returned nothing twice in a row, an empty response from its provider; nothing is lost, try again or choose another model), instead of looping or ending without a word.
- On Windows, a command that runs past its time limit (a development server started in the foreground, for example) is reported as stopped by the time limit, rather than by an obscure error. Moon is told that it may still be running: a command that doesn’t stop on its own should run in the background (see Background commands).
Remote control (moon rc)Link to the Remote control (moon rc) section
moon lets you drive a session on this computer from the Code page of Moon AI; the agent and the files stay on the computer. To start a session, resume it and read refusal codes, see Remote control. If it refuses to start:
| Message | What to do |
|---|---|
| “Le contrôle à distance n’est pas ouvert sur ce serveur Moon AI, ou pas encore pour votre compte.” (remote control isn’t open on this Moon AI server, or not yet for your account) | Code is open to plans that include Moon CLI, on chat.realmoon.ai. Check the session’s account and workspace (moon whoami), and remove MOON_BASE_URL if you set it. |
| “Le contrôle à distance demande une connexion Moon CLI à votre compte (moon login), pas une clé d’API.” (remote control needs a Moon CLI sign-in to your account, not an API key) | A MOON_API_KEY key is set in this terminal: remove it, sign in with moon login, then run moon rc again. |
| “Non connecté à Moon AI. Lancez d’abord : moon login” (not signed in to Moon AI; run moon login first) | Sign in: moon login. |
| “Le contrôle à distance n’est pas disponible dans ce workspace : il impose Moon Blur…” (remote control isn’t available in this workspace: it requires Moon Blur) | The session’s content would go through Moon AI without being masked, which this workspace doesn’t allow. Use Moon CLI in the terminal. |
| “Le contrôle à distance ne démarre pas : Moon AI n’a pas dit si votre workspace impose Moon Blur. …” (remote control won’t start: Moon AI didn’t say whether your workspace requires Moon Blur) | Run moon rc again a little later; if it keeps happening, run moon doctor. |
| “Moon AI refuse le contrôle à distance pour ce compte.” (Moon AI refuses remote control for this account) or “Moon AI refuse le contrôle à distance : …” (Moon AI refuses remote control: …) | The reason follows the colon; for the plan, see Plan. |
| “Dossier introuvable : …” (folder not found) or “Usage : moon rc [dossier] [--no-qr]” | Give a folder that exists, or run moon rc in the project folder. |
With /rc in the Moon CLI interface, a refusal from Moon AI or from the launcher shows in the terminal; the messages specific to /rc are in /rc won’t start.
Headless tasksLink to the Headless tasks section
| Message | What to do |
|---|---|
| “permission demandée : … ; refus automatique” (permission requested: …; refused automatically) | moon run without --auto refuses any action that needs your approval. Add --auto in a disposable environment, or allow specific commands with permission rules. |
| “Ajoutez --yes pour confirmer la désinstallation.” (add --yes to confirm the uninstall) | Without an interactive terminal, moon requires the --yes option. |
| “Ajoutez --yes pour confirmer le retour à la version précédente.” (add --yes to confirm going back to the previous version) | Without an interactive terminal, moon requires the --yes option. |
Slow startupLink to the Slow startup section
- In your home folder or at the root of a drive, the agent goes through every file: move to a project folder first.
- Heavy instructions files: an
AGENTS.mdorCLAUDE.mdlarger than 40 KB is sent with every call. Shorten it: see Instructions files.
Variables left in the environmentLink to the Variables left in the environment section
moon doctor reports the environment variables that change how Moon CLI normally works, such as MOON_BLUR_MODE, and the variables reserved for Moon CLI development. If you didn’t mean to set them, remove them from your shell profile. List of variables: Configuration.
Contact supportLink to the Contact support section
Write to contact@stellarrstudio.com and attach diagnostic.json (the output of moon ), the exact message shown and your system (Windows, macOS or Linux, with its version). If moon doesn’t start, attach the installer’s output. You can also go through “Help and support” in the app: see Get help.