Rover CLI error codes
Rover has a number of predefined error codes that you may run into. You can see descriptions and potential solutions directly in Rover by running rover explain <CODE>
.
This page acts as an index of all of these codes and their descriptions for quick reference.
Codes
E001
This error occurs when the expected JSON response from a GraphQL endpoint can't be deserialized.
This is most likely caused by an invalid endpoint or headers, causing the server to return something that is not JSON (like an HTML error page).
Try running the command again with --log trace
to see what the GraphQL endpoint is responding with.
If this error occurs on a command interacting with the Apollo Registry, please open an issue and let us know!
E002
This error occurs when trying to build headers for requests, and a header name is invalid.
Examples of an invalid header name include header names with included spaces and non-ascii characters in the name.
To resolve, check your headings for any unusual characters.
If this error occurs on a command where you aren't providing headers, please open an issue and let us know!
E003
This error occurs when trying to build headers for requests, and a header's value is invalid.
To resolve, check your headings for any unusual characters.
If this error occurs on a command where you aren't providing headers, please open an issue and let us know!
E004
This error can occur in a number of places. It indicates an error occurring when actually executing a request.
This error commonly occurs when the server can't be reached, or network connection is lost.
To debug, use the --log trace
flag to expose more detailed logs of the specific error that's being encountered.
E005
This error is unexpected behavior, and likely the result of a programming mistake made in the graph registry.
This error shouldn't be reachable under normal circumstances, but if it does occur, please open an issue and let us know.
E006
This error is unexpected behavior, and likely the result of a programming mistake made in the graph registry.
This error shouldn't be reachable under normal circumstances, but if it does occur, please open an issue and let us know.
E007
This error occurs when using a subgraph
command on a non-federated graph.
Either the graph you're trying to run this operation on isn't federated or the specified variant isn't. Double check the specified graph@variant
combination is valid and federated.
E008
This error occurs when an invalid variant is specified for a command.
Double check your spelling or open the graph in Apollo Studio to verify that the variant you're trying to use is valid.
If you didn't pass a variant in the format graph@variant
, then the default variant, current
is used. If you encounter this error without providing a variant, it likely means the current
variant does not exist.
E009
This error occurs when working with federated graphs and the subgraph --name
provided doesn't exist as a valid subgraph.
To find a list of subgraphs already published to a graph, open the graph in Apollo Studio or run rover subgraph list <GRAPH_ID>@<VARIANT>
.
E010
This error can occur because of graph lookup issues or authentication failures.
Graphs you don't have permission to will always error as unavailable for security purposes. Check your API keys with rover config whoami
and make sure your graph IDs are properly spelled.
If applicable, check with your graph admin to make sure permissions and keys haven't changed.
E011
This error occurs when an introspection response from a GraphQL endpoint can't be parsed properly.
Verify your endpoint is correct, and use --log trace
to make sure the response from the server is the expected JSON response. If you're still seeing this error with the correct introspection response from the server, please open an issue and let us know!
E012
This error occurs when an endpoint returns an HTTP status between 400-599.
These errors are most common with a misuse of an endpoint. If you are running introspection
commands or fetching from an endpoint for composition, it's likely you misused headers or specified the wrong url.
Check your urls, headers, and if needed, run the command again with --log trace
to see specific details about the request/response.
E013
This error occurs when an API key isn't recognized by the graph registry. Your key may have been disabled, changed, or saved improperly.
Try running rover config whoami
to debug API key issues.
Check the length of the key shown in the response of this command and make sure it's what you expect. Sometimes double-pasting the key when running auth
can happen.
E014
This occurs when an API key is not in the format expected.
Registry API keys are in one of the following formats:
user:my-username:secretkey
service:graph-id:secretkey
If you're getting this error, it's because the key couldn't be parsed properly based on these formats. Run rover config whoami
to make sure your key looks like you expect it to.
The middle of the key is masked for security, but you should be able to see the user
or serv
at the beginning of the key, and the last few characters of the key, along with its length.
E015
This error occurs when Rover's update checking fails because of release versions not being in the correct format.
If you encounter this issue, please open an issue and let us know!
E016
This error occurs when trying to setup a configuration profile, and Rover is unable to create the directory to store this information in.
This is usually a permissions issue. If your system's default configuration directory is inaccessible, you can use the APOLLO_CONFIG_HOME
environment variable to choose a different directory. See Rover's configuring docs for more info.
E017
This error occurs when trying to setup a configuration profile, and Rover is unable to determine your system's defauly configuration directory.
You can use the APOLLO_CONFIG_HOME
environment variable to tell Rover where to save and find configuration info. See Rover's configuring docs for more info.
E018
This error occurs when using the APOLLO_CONFIG_HOME
environment variable improperly.
This variable should reference a directory to store configuration info in, but the current value is likely pointing to a file rather than a directory.
Check your APOLLO_CONFIG_HOME
variable and the intended destination.
E019
This error occurs when trying to clear all of Rover's local config, but none is found.
This may be the result of running the rover config clear
command multiple times, or an update to your APOLLO_CONFIG_HOME
variable.
See Rover's configuration docs for more on how to manage Rover's configuration.
E020
This error occurs when trying to run a command that needs to use a configuration profile or an API key, but none are found.
This is likely because you haven't set up a configuration profile yet or your APOLLO_KEY
has been removed.
Run rover config auth
to set up a new configuration profile or check out Rover's configuration docs for more on how to set up and use Rover.
E021
This error occurs when trying to use a configuration profile that can't be found.
This is most likely the result of a typo when running a command with the --profile
option or saving a new profile.
Run apollo config list
to see a full list of available configuration profiles or apollo config auth
to set up a new one.
Check out Rover's configuration docs for more on how to set up and use Rover.
E022
This error occurs when trying to load the contents of a configuration profile, and there is nothing available to load that isn't sensitive.
This likely occurred because configuration profiles were cleared. Try running rover config auth
and setting up a new configuration profile.
E023
This error occurs when trying to save or load a configuration profile using a file path that is not valid UTF-8.
This is likely due to an invalid path in your APOLLO_CONFIG_HOME
environment variable.
Check your environment variable or use --log trace
for more information about the path that Rover is trying to use.
E024
This error occurs when Rover tries to load a configuration profile that has been modified with invalid TOML.
If you modified a configuration file by hand, double check to make sure your formatting is appropriate.
If you did not intentionally modify a configuration profile, you may need to delete the profile and re-create it with rover config delete --profile <NAME>
and rover config auth --profile <NAME>
.
If this error persists, please open an issue and let us know.
E025
This error occurs when trying to save a configuration profile, and Rover can't serialize it appropriately to TOML.
If this error occurs, please open an issue and let us know.
E026
This error occurs when Rover runs into an issue loading or saving a configuration profile.
This may happen as a result of a typo in a profile name, or a profile name being incorrect.
Double check your command usage, and list available profiles with rover config list
.
If this error persists, please open an issue and let us know.
E027
This error occurs when working with a federated graph and its subgraphs. When graphs can't be composed due to errors, no final supergraph schema can be built.
To resolve this error, inspect the printed errors and correct the subgraph schemas.
E028
This error occurs when Rover could not connect to an HTTP endpoint.
If you encountered this error while running introspection, you'll want to make sure that you typed the endpoint correctly, your Internet connection is stable, and that your server is responding to requests. You may wish to run the command again with --log=debug
.
E029
This error occurs when you propose a subgraph schema that could not be built.
There are many reasons why you may run into build errors. This error should include information about why the proposed subgraph schema could not be composed. Error code references can be found here.
Some build errors are part of normal workflows. For instance, you may need to publish a subgraph that does not compose if you are trying to migrate an entity or field.
E030
This error occurs when an operation check fails. This means that you proposed a schema that would break operations in use by existing clients. You can configure this behavior in the Checks -> Configuration view in Apollo Studio, and you can read more about client checks here.
E031
This error occurs when Rover made an HTTP request and it timed out.
The client timeout that Rover sets is configurable. You can increase Rover's request timeout, but it's also possible that you've made a request for too much data from the Studio API, or that the Studio API is experiencing degraded performance. You can check for known performance issues on our status page.