Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/cloudwaddie/aitweaker/llms.txt

Use this file to discover all available pages before exploring further.

The Grok tweaker intercepts HTML responses from grok.com and replaces the contents of the <script type="application/json" id="server-client-data-experimentation"> tag with your own JSON. This config object is what Grok uses to enable or disable features client-side. The tweaker also supports spoofing your subscription tier by rewriting specific keys in that same HTML before it reaches the browser.

How it works under the hood

Every Grok page response embeds the experimentation config as an inline JSON script tag. The proxy locates it with a regex and substitutes your version in-place:
proxy.py
pattern = r'(<script type="application/json" id="server-client-data-experimentation">)(.*?)(</script>)'

if re.search(pattern, html, re.DOTALL):
    minified_json = json.dumps(json.loads(custom_json_str))
    new_html = re.sub(
        pattern,
        lambda m: f'{m.group(1)}{minified_json}{m.group(3)}',
        html,
        count=1,
        flags=re.DOTALL
    )
For subscription spoofing, it applies targeted regex substitutions after the config replacement:
proxy.py
subs_replacements = [
    (r'"isSuperGrokUser":false',    r'"isSuperGrokUser":true'),
    (r'"isSuperGrokProUser":false', r'"isSuperGrokProUser":true'),
    (r'"isEnterpriseUser":false',   r'"isEnterpriseUser":true'),
    (r'"xSubscriptionType":"[^"]*"',r'"xSubscriptionType":"SuperGrok"')
]
Subscription spoofing only affects what the Grok frontend believes about your account. Server-side API calls that validate your actual subscription tier will still fail if you do not hold the corresponding plan.

The grok_config.json structure

The bundled grok_config.json is a snapshot of a real Grok experimentation config. Its top-level structure is:
grok_config.json
{
    "status": "ready",
    "serverConfig": {
        "enable_compact_query_bar": true,
        "customer_support_enabled": false,
        "enable_memory_toggle": true,
        "dm_test_flag": true,
        "enable_inline_text_followups": true,
        "enable_templates": true,
        "enable_text_to_speech": true,
        "enable_voice_mode": true,
        "enable_grok_tasks": true,
        "enable_code_execution": true,
        "enable_shiki_code_highlighting": true,
        "enable_tiptap_editor": true,
        "show_model_mode_selector": true,
        "merge_model_mode_select": true,
        "pdf-reader": true,
        "short_id_to_model_id_map": {
            "7": "grok-4-mini-thinking-tahoe"
        },
        "hide_models": {
            "hideModels": ["grok-latest", "grok-4-auto", "grok-3-mini-companion"]
        },
        ...
    }
}
Most feature flags are simple booleans directly under serverConfig. Others are nested objects with their own sub-keys (e.g. media_gen_video_config, typeahead_config, timeline_navigator).

Setting up the Grok tab

1

Enable modifications

Toggle Enable Grok Modifications at the top-left of the tab. Without this, the proxy passes all Grok HTML through unmodified.
2

Load a config

You have two options for getting a config into the editor:
  • Load Extracted Config — loads grok_config.json from disk. Use this as your baseline.
  • Fetch Latest (Web) — fetches https://grok.com in a background thread, extracts the server-client-data-experimentation script tag from the live page, and populates the editor with the result.
Use Fetch Latest (Web) before each session to make sure you are working with keys that match the currently deployed Grok frontend.
3

Edit the JSON

Modify values directly in the JSON editor. Several editor tools are available:
  • Search — type in the search box and press Enter or click > / < to move between matches. Matches are highlighted in yellow.
  • Boolean toggle — double-click any true or false word in the editor to flip it. You can also position the cursor on a boolean and click Toggle Boolean.
  • Format & Validate — click this button to pretty-print the JSON and confirm it is valid before saving. The proxy also runs this check at save time.
4

Spoof subscription (optional)

Toggle Spoof Subscription (Pro/Super) to have the proxy additionally rewrite isSuperGrokUser, isSuperGrokProUser, isEnterpriseUser, and xSubscriptionType in every Grok HTML response, regardless of what your config JSON contains for those keys.
5

Save your changes

Click Save Grok Changes. The proxy validates the JSON first — if it is invalid, the save is aborted and the error is shown in the log. On success, rules.json is regenerated and the proxy picks up the new config immediately.

Practical examples

In the JSON editor, find "enable_compact_query_bar" and set it to true. Use the search box to locate it quickly, then double-click the boolean to toggle it.
"enable_compact_query_bar": true
The proxy URL pattern matches all of grok.com (^https?://(www\.)?grok\.com/.*), so the config replacement applies to every page load, not just the home page.

Build docs developers (and LLMs) love