GraphQL Desktop Client

Read the schema.
Grow your query, branch by branch.

The desktop client built only for GraphQL. Browse your schema as living docs, grow your query one level at a time with add Query / add Child, and send it across any number of endpoints.

macOS · Windows · Linux  /  Unlimited projects, even on Free

Linux: x86_64 only, requires webkit2gtk 4.1 (Ubuntu 22.04 / Debian 12 / Fedora 36 or later). ARM (aarch64) is not supported.

Feature tour

The main features, one slide at a time.

Schema import

Paste an endpoint. The schema becomes your dictionary.

Introspect types and fields over HTTP and build queries while reading the docs.

Query builder

Click to grow. Build queries without writing them.

add Query → add Child to grow branches and expand only the fields you need.

Environments

Switch dev / stg / prod in one click.

Flip connection profiles and send the same query to multiple endpoints.

Variables & headers

{{token}} resolves per environment, automatically.

See GraphQL variables, env variables and the header cascade at a glance.

Send & response

GET / POST. Errors classified by whose fault they are.

Network / auth / query / server — separated so you find the cause fast.

Collections

Keep your go-to queries in collections.

Save and reuse. Grow query branches per project.

Dark & Light

Looks right in dark and light.

Follows your system theme, or flip it yourself anytime.

1 / 7
Schema import
Query builder
Environments
Variables & headers
Send & response
Collections
Dark & Light

Introduction

Purpose-built to remove the friction of using GraphQL in generic clients.

GalleonQL is a desktop client for developers who work with GraphQL APIs every day. It pulls in your schema over HTTP introspection, parses the shape of inputs and outputs, and lets you browse it as documentation while you build queries from that same schema.

Where generic REST clients bolt GraphQL on as an afterthought, GalleonQL is GraphQL-first. HTTP requests are issued from the Rust side (reqwest), so it is free of the browser's CORS limits and reaches any endpoint directly. Environments are orthogonal in the Postman sense, so one query works across every endpoint.

The interaction model is a "grow a tree" metaphor: grow a query by splicing on branches with add Query / add Child — an approach that runs through the entire UI.

01

Pull in the schema

Register an endpoint and introspection fetches the type catalog, expanded as documentation in the right pane.

02

Insert a root with add Query

From the schema's Query / Mutation fields, insert the root branch of your query.

03

Grow branches with + child

Expand one level at a time on object-typed branches. Grow it recursively until the query has the shape you need.

04

Pick an environment and send

Compose "query × selected environment", send it CORS-free, and inspect the response as JSON tree / raw / headers.

Features

From schema to send — every tool made for GraphQL.

Everything here ships today. The staged builder, the orthogonal environment model, and CORS-free sending are the core.

01

Schema as documentation

The introspected schema is parsed and browsable as a tree — types, arguments and descriptions — always at hand while you build.

introspection
02

Branch-by-branch query builder

Insert a root with add Query, expand one level with + child. The ▼ lets you choose "leaf scalars only / all" just for that step.

add Query · add Child
03

Switch across endpoints

Environments are orthogonal "connection profiles" (the Postman way). Queries stay environment-free; only the target changes between dev / stg / prod.

orthogonal envs
04

Auth with method and secret split

The auth "method" (None / Bearer / Basic) is kept separate from the "secret". Tokens and passwords stay local to the environment and never travel in shares or exports.

auth: type · secret
05

CORS-free HTTP sending

HTTP is always issued from Rust (reqwest), free of browser CORS. Inspect responses across JSON tree / raw / headers, with status and timing.

Rust · reqwest
06

SQLite schema cache

The introspected schema is cached in local SQLite, keyed by project and resolved endpoint URL. Instant on next launch; refresh only via the manual "⟳ re-fetch".

local-first

Pricing

Free forever for core GraphQL work. Pro when you need more.

Projects are unlimited on every plan. Upgrade to Pro for request hooks, verification assertions, GraphQL subscriptions, schema-diff confirmation, and third-party collection import (Postman / Altair) — billed monthly or yearly.

$0 Free plan
unlimited projects

Pro is $9.99 / month or $99 / year (about 2 months free on yearly).

Cancel anytime — your data stays. After cancel, Pro features remain until the end of the paid period; then you return to Free. Projects are never locked by plan.
Plans
Plan Price Projects
Free $0 Unlimited
Pro (monthly)$9.99 / moUnlimited
Pro (yearly)$99 / yrUnlimited

Free vs Pro feature comparison

Same breakdown as in the app plan screen — Pro-only features first, then what both plans include.

Feature comparison
Feature Free Pro
What you get with Pro
Request hooksExtract values from the response after sending and save them to variables Not included Included
Verification assertionsAssert on status codes and response body fields (same Pro gate as request hooks) Not included Included
Subscription (WebSocket / SSE)Subscribe to live updates and track incoming events Not included Included
Schema diffReview changes before importing a reloaded schema Not included Included
Third-party collection importImport Postman Collections (v2.1, GraphQL) and Altair backups (.agbkp) as a new project Not included Included
Available on both plans
ProjectsNo limit on how many you can create Unlimited Unlimited
Account requiredStart without creating an account (Pro is unlocked with a license key) Not required Not required
Schema import, docs, and builderIntrospection and step-by-step query building Included Included
Environments, cascading, and authSwitch environments with layered headers/timeouts Included Included
Where your data livesEverything stays on your device Local Local

FAQ

FAQ

How does the billing cycle work?

Pro is billed monthly ($9.99) or yearly ($99) from your signup date. If you cancel partway through, you keep Pro until the end of the paid period, then return to Free. Projects stay unlimited on every plan.

What do I get with Pro?

See the feature comparison above. Pro unlocks request hooks and verification assertions, GraphQL subscriptions over WebSocket / SSE, schema-diff confirmation on re-import, and third-party collection import (Postman Collections and Altair backups). Free already includes unlimited projects, the query builder, environments, and local-first data.

I want to switch machines or use it on another computer

If you replace your machine or want to use your license key on a different computer, deactivate the license from the existing app, then register it again on the machine you want to use.

Get GalleonQL

Start growing your queries, branch by branch.

Download and get started right away. Noticed something? Tell us on GitHub anytime.