Skip to content
GlxymeshDocs
glxymesh.com
Select theme
Open console
Reading time 4 min

gxmesh CLI reference

Every gxmesh CLI command for Glxymesh projects: login, org and project scope, init, pull, new, gen, dev, call, test, push, revisions, rollback, connect, update, uninstall and env vars.

New to the command line? Start with Learn the CLI step by step for a complete greeting-tool project, expected results and explanations of the flags.

macOS and Linux:

Terminal window
curl -fsSL https://platform.glxymesh.com/install.sh | bash

Windows PowerShell:

Terminal window
irm https://platform.glxymesh.com/install.ps1 | iex

Open a new terminal and run gxmesh version to verify installation. For Windows cmd, see the quickstart.

Command What it does
gxmesh login Signs this machine in with the device flow. The CLI shows a URL and a code to enter in any browser.
gxmesh auth list Shows this account and every session it has open.
gxmesh services Shows the account’s tier and capabilities.
gxmesh logout Removes stored credentials.

gxmesh auth login and gxmesh auth logout are the same as the short forms.

Inside a project directory, commands act on the organization and project in its gx.yml. Elsewhere, connect acts on the active organization and project. Local commands such as call, test and push require a project directory.

Command What it does
gxmesh org Lists your organizations.
gxmesh org use [slug] Makes an organization active. With no slug, it lets you pick one.
gxmesh project Lists the projects in the active organization.
gxmesh project use [slug] Makes a project active. With no slug, it lets you pick one.
gxmesh project create <slug> [name] Creates a project, with an optional display name.
gxmesh project describe <slug> <description> Sets the project description. It seeds the MCP instructions that tell a connected model what this server is for.

If you haven’t chosen a project, default is used. It’s created the first time you use it.

Commands that accept scope flags, such as init, use --org <slug> and --project <slug> ahead of the environment variables GXMESH_ORG and GXMESH_PROJECT, then the stored selection. A stored project applies only to its own organization, so passing --org alone does not carry it over.

Commands that read an existing project, including push and connect inside that directory, use its gx.yml. They do not accept scope flags to redirect it. Check the file before deploying.

Run these inside a project directory, or any folder below it. The project comes from gx.yml.

Command What it does
gxmesh init [--lang go|node|python] [--org <slug>] [--project <slug>] [--module <path>] Starts a project in the current directory: writes gx.yml; go.mod, package.json and tsconfig.json, or requirements.txt and pyrightconfig.json; tools/ and .gitignore. --lang defaults to go. --module sets the Go module path.
gxmesh pull [dir] [--org <slug>] [--project <slug>] [--force] Copies the live revision’s files to this machine. Outside a project it starts one in dir (the project’s slug by default), with .gitignore and the SDK set up as init would. Inside a project it brings the files up to the live revision; a file changed here since the last pull stops it, and --force replaces those files too. Files that were never pulled are left alone.
gxmesh new <name> [--kind function|http] Adds a tool in tools/<name>/: a tool.yml and code in the project’s language, or only a tool.yml with --kind http.
gxmesh gen Regenerates every tool’s typed input file and the SDK copy in .glxy/. dev, call and test run it too.
gxmesh dev [--port 7777] [--allow-private] Serves the project at http://127.0.0.1:7777/mcp and rebuilds when a file changes.
gxmesh call <tool> ['<json>'] [--allow-private] Runs one tool here and prints its answer, its log lines and every request it sent.
gxmesh test [tool…] [--allow-private] Runs the tests: of every tool, or of the ones named.
gxmesh push [--approve] Checks, sends and deploys the project. A push that adds hosts or keys asks first; --approve agrees in advance, for scripts.
gxmesh revisions Lists what was pushed, what each revision became, and which is live.
gxmesh rollback <rN> Makes an earlier revision live again, without rebuilding it.
gxmesh connect Prints the project’s address, its server name, and how to add it to Claude Code, Cursor and other clients.

--allow-private lets local runs reach private addresses, such as a server on your own network. It has no effect on deployed tools. See Develop locally.

Command What it does
gxmesh version Shows this binary’s version and the services it talks to.
gxmesh update [--force] Replaces the binary with the current release. --force reinstalls even if the version matches. The CLI also tells you, at most once a day, when a newer release exists.
gxmesh completion <bash|zsh|fish> Prints a shell completion script.
gxmesh uninstall [--yes] Removes the binary and the CLI’s settings: the sign-in, the active org and project, and its cache. It asks first; --yes skips the question, for scripts. Your projects and deployed tools stay. On Windows it also takes the install folder off your PATH. If the binary is in a folder you can’t write, run it with sudo.

To enable tab completion:

Terminal window
source <(gxmesh completion bash) # add to ~/.bashrc
source <(gxmesh completion zsh) # add to ~/.zshrc
gxmesh completion fish | source # add to ~/.config/fish/config.fish
Variable Effect
GXMESH_ORG, GXMESH_PROJECT Override the active organization and project.
GXMESH_PLAIN=1 Turns off colour and all terminal drawing.
NO_COLOR Turns off colour.
GXMESH_THEME=light|dark Sets the terminal background instead of detecting it.

Credentials and the active scope are stored in ~/.config/gxmesh.