node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



npm version CircleCI

📟 Command line tool for common GraphQL development workflows


  • Helpful commands to improve your workflows like get-schema, diff & playground
  • Compatible with editors and IDEs based on graphql-config
  • Powerful plugin system to extend graphql-cli with custom commands

You can see it in action here:


Note: The graphql-cli has a different use case than the Graphcool CLI. Graphcool CLI is specific to the Graphcool Framework, while graphql-cli can be used with any GraphQL project.


You can simply install the CLI using npm or yarn by running the following command. This will add the graphql (and shorter gql) binary to your path.

npm install -g graphql-cli


Usage: graphql [command]

  graphql create [directory]             Bootstrap a new GraphQL project
  graphql add-endpoint                   Add new endpoint to .graphqlconfig
  graphql add-project                    Add new project to .graphqlconfig
  graphql get-schema                     Download schema from endpoint
  graphql schema-status                  Show source & timestamp of local schema
  graphql ping                           Ping GraphQL endpoint
  graphql query <file>                   Run query/mutation
  graphql diff                           Show a diff between two schemas
  graphql playground                     Open interactive GraphQL Playground
  graphql lint                           Check schema for linting errors
  graphql prepare                        Bundle schemas and generate bindings
  graphql codegen [--target] [--output]  Generates apollo-codegen
                                         code/annotations from your

  --dotenv       Path to .env file                                      [string]
  -p, --project  Project name                                           [string]
  -h, --help     Show help                                             [boolean]
  -v, --version  Show version number                                   [boolean]

  graphql init                 Interactively setup .graphqlconfig file
  graphql get-schema -e dev    Update local schema to match "dev" endpoint
  graphql diff -e dev -t prod  Show schema diff between "dev" and "prod"

For more information go to

Initial setup and schema download

Listen to schema changes

Autocompletion setup

To install autocompletion in your terminal run

graphql completion >> ~/.bashrc

or on OSX

graphql completion >> ~/.bash_profile


Do you want to create your own plugin? Here is a simple example.


A big thank you to all contributors and supporters of this repository 💚

IvanGoncharov RomanGotsiy schickling kbrandwijk

Help & Community Slack Status

Join our Slack community if you run into issues or have questions. We love talking to you!