Configuration
The config file and data directory, the tier and query-id overrides, request tuning, the cache, and where the session and guest token live.
x runs with sensible defaults and no required setup. Everything here is optional
tuning. See where things resolve to with x config show.
Config file and data directory
x config path # print the config file path
x config show # print the resolved configuration
x keeps its state under a single data directory: the HTTP cache, the saved
session, the cached guest token, and the config file. The default location
follows the platform convention (an OS user data directory). Override the root
for one run with --data-dir, or for all runs by setting it in the config.
Tiers
By default x auto-selects the cheapest tier that can serve a command. Two flags override that:
--guestenables the opt-in guest-GraphQL tier (Tier 1) for the run.--tier 0|1|2caps what the run may use.--tier 0reads the way a machine with no credential at all would, even if you have a session imported, which is how you check a tier-0 claim for yourself.--tier syndication|oembed|web|guest|sessionpins one surface instead of letting x choose, which is what you want when you are checking a single plane.
Anything else is a usage error naming the values, so a typo does not quietly read as if you had passed no flag.
x tiers prints which tiers are available and what each can do right now, and
x routes prints which surface answers which question at each of them.
Query-id overrides
x calls the web-client GraphQL with operation ids that X rotates from time to time. x ships with current ids, but if X rotates one before an update lands you can override it:
x search "webb telescope" --guest --query-id SearchTimeline=<hash>
--query-id takes Op=hash and can be repeated. See
troubleshooting for how to tell a rotation apart
from other failures.
Request tuning
x behaves like a careful browser. These flags shape how it talks to X:
| Flag | Default | Meaning |
|---|---|---|
--rate |
1s |
Minimum delay between requests |
--retries |
3 |
Retries on 429 and 5xx responses |
--timeout |
30s |
Per-request timeout |
Lowering --rate makes x faster but more likely to be rate-limited; the default
is a polite pace.
Cache
Reads are cached on disk under the data directory so repeated lookups are instant and gentle on X.
x cache clear # delete all cached responses
Bypass the cache for one run with --no-cache.
Where the session and guest token live
Both live under the data directory, not in the config file:
- The session (your imported
auth_tokenandct0) is saved byx auth importand removed byx auth logout. Check it withx auth status. - The guest token is minted on demand by
--guestand cached between runs, so repeated guest commands reuse it instead of re-minting and tripping X's rate limit. Clearing it is handled automatically when it expires; you do not manage it by hand.
Because both are files under the data directory, pointing --data-dir at a
fresh path gives you a clean slate with no session and no cache.