Help us learn about your current experience with the documentation. Take the survey.

Get started with GitLab Orbit Local

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
  • Status: Beta

GitLab Orbit Local runs on your machine. Install the orbit binary, pick the access method that matches how you work, then run your first query.

Install

Install the orbit binary directly with the one-line installer, from npm, or through the GitLab CLI (glab) if you already use it.

On Linux, the installer uses the glibc archive by default and automatically selects the fully static musl archive on musl-based distributions like Alpine. To force the static Linux archive, pass --libc musl.

curl -fsSL "https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/raw/main/install.sh" | bash

To explicitly install the static musl binary (e.g. on a glibc system):

curl -fsSL "https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/raw/main/install.sh" | bash -s -- --libc musl

Open a new terminal, then verify:

orbit help
irm https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/raw/main/install.ps1 | iex

Open a new terminal, then verify:

orbit help

If your endpoint policy restricts remote script execution, you can install without running any script. The Windows release archive contains a single self-contained orbit.exe, signed by GitLab Inc., so application allowlisting policies can authorize it by publisher:

  1. From the latest release, download orbit-local-windows-x86_64.zip and its .sha256 file.

  2. Verify the checksum:

    (Get-FileHash .\orbit-local-windows-x86_64.zip -Algorithm SHA256).Hash

    The output must match the hash in the .sha256 file. The comparison is not case-sensitive: Get-FileHash returns uppercase and the .sha256 file stores lowercase.

  3. Clear the Mark of the Web. A browser attaches it to the download, extraction carries it to orbit.exe, and the first run can then raise a SmartScreen prompt or be blocked by policy:

    Unblock-File .\orbit-local-windows-x86_64.zip
  4. Extract the archive, create the target directory, then move orbit.exe into it. This example uses $env:LOCALAPPDATA\Programs\orbit, the same default the installer uses:

    Expand-Archive -Path .\orbit-local-windows-x86_64.zip -DestinationPath .
    New-Item -ItemType Directory -Force -Path "$env:LOCALAPPDATA\Programs\orbit"
    Move-Item .\orbit.exe "$env:LOCALAPPDATA\Programs\orbit\orbit.exe"
  5. If that directory is not already on your PATH, add it for your user:

    [Environment]::SetEnvironmentVariable("PATH", "$env:LOCALAPPDATA\Programs\orbit;$([Environment]::GetEnvironmentVariable('PATH', 'User'))", "User")

No administrator rights are required.

Open a new terminal, then verify:

orbit help

You can also install from npm, on any platform:

npm install -g @gitlab/orbit

The @gitlab/orbit package installs the prebuilt binary for your platform. On Linux, it always uses the fully static musl binary, which runs on both glibc and musl distributions.

Verify:

orbit help

If you already have glab installed:

glab orbit local --install

Verify:

glab orbit local help

See the glab orbit local reference for details.

Pick an access method

MethodBest forSetup
The GitLab Orbit CLI (orbit)Direct CLI use, scripting, indexing tasksOne-line installer or glab orbit local --install
The GitLab CLI (glab)Anyone already using glabglab orbit local --install
MCPClaude Code, Codex, and other AI agentsclaude mcp add orbit-local -- orbit mcp serve

All three read the same local graph. GitLab Orbit Local is queried with DuckDB SQL; the structured JSON query DSL is GitLab Orbit Remote only.

60-second quickstart

glab orbit local wraps the managed orbit binary. The binary downloads, is checksum-verified, and stays up to date on first use. Requires glab 1.94 or later. To run the binary directly instead, see Use the orbit CLI directly.

Index a repository and inspect what GitLab Orbit found:

glab orbit local index /path/to/your/repo
glab orbit local schema

That builds a local DuckDB graph at ~/.orbit/graph.duckdb and prints every table and column in it: gl_definition, gl_file, gl_directory, gl_imported_symbol, gl_edge, and the _orbit_manifest bookkeeping table.

Next:

Billing

GitLab Orbit Local does not consume GitLab Credits. All processing is local.

What to try next