Canterbury Tales woodcut

iGraphQL

A Professional GraphQL Workspace for Shopify Developers

Beyond Shopify’s Built-in iGraphiQL

Shopify ships a single-tab GraphQL editor inside the Admin. It covers the basics. iGraphQL was built for the work that comes after basics — bulk data operations, multi-user teams, persistent workspaces, and an editor that actually knows your schema.

Request Early Access Explore Features

Prologue

Why a Real Workspace Matters

The pilgrim who sets out without tools finds the road longer than it need be.

Every Shopify developer reaches the same moment: a query to write, a schema to understand, a bulk export to run, a mutation to verify. Shopify’s built-in editor is there — it executes queries, it shows responses. But it forgets everything the moment you close the tab. It cannot paginate for you, cannot export a dataset, cannot tell a junior developer which fields they are allowed to mutate.

The name CodeWomplers is a play on coddiwomple — to travel purposefully toward a vague destination. That describes GraphQL development honestly: you know the data you need, but the path through the schema requires exploration. iGraphQL is the workspace that makes that journey deliberate rather than accidental.

What follows is a complete account of every feature. Read the chapter that serves you today, or read the whole pilgrimage.

Caxton woodcut, manuscript page

Chapter I

The Writing of Queries

Of the writing of queries, and the tools that make the work go clean.

Core

Query Editor

A CodeMirror editor with a custom GraphQL grammar mode tuned for Shopify’s schema. Syntax highlighting distinguishes keywords, field names, string values, and comments. Lint runs in real time across three phases: syntax errors, schema violations, and deprecated field warnings.

  • Syntax highlighting with Shopify-tuned GraphQL grammar
  • Real-time lint: Phase 1 syntax, Phase 2 schema errors, Phase 3 deprecated field warnings (yellow underline)
  • Context-aware autocomplete from live schema — fields, arguments, enum values, directives
  • Auto-closing brackets and quote pairs
  • Line numbers with gutter
  • Drag-to-resize panel splitters between editor, variables, and response

Query editor with live lint and autocomplete

query ProductSearch($q: String) { products(first: 10, query: $q) { edges { node { id title status variants(first: 5) { edges { node { price sku } } } } } pageInfo { hasNextPage endCursor } } }
Format

Formatting, Fragments & Copy Tools

Prettify rewrites your query with correct indentation in one keystroke. Compress collapses it to a single line for embedding in code. Merge Fragments inlines all ...FragmentName references into the main operation — useful when exporting to a language target.

  • Ctrl+Shift+F: toggle prettify / compress
  • Ctrl+Shift+M: merge named fragments inline
  • Ctrl+Shift+Q: copy query to clipboard
  • Rainbow bracket matching: nested levels color-coded
  • Variables pane: JSON syntax highlighting with real-time validation
  • Variable autocomplete: JSON keys validated against query’s variable definitions

Before prettify → after

// Before: query{products(first:10){edges{node{id title}}}} // After Ctrl+Shift+F: query { products(first: 10) { edges { node { id title } } } }
Workflow — Beyond Default

Multi-Tab Persistent Workspace

Every tab is a complete, independent IDE: its own query, variables, response, undo history, and API type. Tabs are stored in IndexedDB and survive a browser close. Return the next morning and your work is exactly where you left it.

  • Unlimited tabs, each with independent state
  • Persisted via IndexedDB — survives browser close and refresh
  • Per-tab undo/redo history preserved on switch
  • Per-tab API type (Admin or Storefront), remembered across sessions
  • Ctrl+T: new tab; Ctrl+W: close; Ctrl+1–9: jump by index
  • Right-click context menu: rename, duplicate, close others, move left/right
  • Export and import tab collections as JSON

Tab bar with environment indicators

┌─────────┬───────────┬─────────┬───┐ Products Orders Bulk Job + └─────────┴───────────┴─────────┴───┘ Each tab stores independently: • Query text + undo history • Variable JSON • Last response • Scroll position • API type (A = Admin / S = Storefront) • Active cursor position
Organization — Beyond Default

Saved Query Library

A persistent library of named queries stored server-side in Shopify metafields. Organize by category, search by name, and load any saved query into the current tab with a single click. Categories, queries, and sort order all survive clearing your browser.

  • Ctrl+Shift+S: save current query with name and category
  • Ctrl+Shift+L: open library; search and filter
  • Sort by most recent, name, or category
  • Quick Load shortcut: load a query without navigating the full library
  • Queries stored server-side — available from any browser

Saved query library panel

Saved Queries [+ New category] ───────────────────────────Products Get Product by ID Admin API • used 2h ago Products with Variants Admin API • used yesterdayBulk Exports Full Inventory Export Admin API • used 1w ago Orders by Date Range Admin API • used 3d ago
Workflow — Beyond Default

Query History

Every executed query is automatically captured with its timestamp, variables, response status, and duration. Recall anything you ran in this session or prior sessions, inspect the result, and restore it to the current tab with one click.

  • Automatic capture of every execution (query + variables)
  • Timestamped with response status and duration
  • One-click restore to current tab
  • Search within history
  • Ctrl+H: toggle history panel
  • Clear history action when done

History panel

Query History ─────────────────────────── 3:42 PM — products(first: 10) 200 OK847ms [Restore] 3:38 PM — orders(first: 5) 200 OK1.2s [Restore] 3:35 PM — productCreate Error320ms [Restore] 3:29 PM — products(first: 250) 200 OK3.1s [Restore]
Knight on horseback, Caxton woodcut

Chapter II

Navigation of the Schema

Of the finding of fields, and understanding their natures and lineages.

Discovery

Schema Explorer & Hover Documentation

The documentation panel provides a full type browser: search types, drill into fields, read argument signatures and defaults, and follow type references through the schema graph. Hover any field in the editor and the panel scrolls to that field’s documentation automatically.

  • Full type browser with type search
  • Click-through from field to sub-type and back
  • Hover documentation: hover any editor field → docs panel navigates to it
  • Works for root fields and deeply-nested sub-fields
  • Deprecation shown inline with reason and suggested replacement
  • Directive documentation: @inContext, @skip, @include, @defer
  • Union type, interface type, and input object support
  • Ctrl+D: toggle documentation sidebar

Hover documentation pop-up

Product.title Type: String! Desc: The title of the product. Product.status Type: ProductStatus! Values: ACTIVE | ARCHIVED | DRAFT Product.bodyHtml ⚠ DEPRECATED since 2024-07 Use `body` instead. @inContext(country: CountryCode) Overrides country for pricing and availability calculations.
Flagship — Beyond Default

Query Explorer

The Query Explorer presents every field in your schema as an interactive tree. Click the circle next to a field to add it to your query; click again to remove it. The editor updates immediately. Edit the query by hand and the circles update to reflect the new state. The two are always in sync.

No comparable tool exists in Shopify’s built-in editor. This is the single largest UX difference between the two products.

  • Tri-state circles: empty (not selected), partial (some sub-fields), full (all sub-fields)
  • Two-way sync: explorer ↔ editor, always consistent
  • Breadcrumb navigation: drill into any sub-type and return
  • Arguments shown with type, default, and required/optional marker
  • Automatic first: 10 inserted for connection fields
  • Inline fragment support for union and interface types
  • Cursor-aware insertion: new fields appear near your cursor
  • @inContext locale dropdown: shop locales fetched, directive inserted on demand
  • Enum argument dropdowns rendered inline

Query Explorer panel — products › edges › node

products › edges › node ─────────────────────────── id title handle description status vendor variants (partial) id price sku barcode images metafields
Flexibility

Admin & Storefront APIs with @inContext

Toggle between Shopify’s Admin API and Storefront API at the tab level. Each API loads its own schema; autocomplete, lint, and the explorer all adapt. API type and version are saved per tab so switching tabs never loses context.

  • Per-tab API type: Admin or Storefront, persisted
  • One-click toggle in header; schema reloads immediately
  • Bulk operations disabled automatically for Storefront
  • @inContext directive: select country and language from shop’s live locale list
  • API version selector: all supported Shopify versions in dropdown
  • On version change: schema caches cleared, fresh introspection runs

API selector and version picker

API Type: [●] Admin API [ ] Storefront API Version: 2026-01 2026-01 (latest) 2025-10 2025-07 2025-04 @inContext: country: US language: EN Select from 12 shop locales
Beyond Default

Per-Tab API & Version

Stock iGraphiQL applies one API and one version to the entire window. Switch versions and every tab is reinterpreted under the new schema, with no way back. iGraphQL pins API type and version to each tab, persisted with the tab. Each tab is its own GraphQL session. The only thing shared is auth.

  • Side-by-side version comparison: same query, one tab on stable, one on the release candidate. Both live. Real migration testing — stock gives you before or after, never both at once
  • Mixed Admin and Storefront workflows: one tab seeding data via Admin mutations, another running localized Storefront queries with @inContext(country: CA), both persistent
  • Schema correctness scoped to the tab: autocomplete, hover docs, lint, and deprecation warnings all reflect that tab’s API and version. No false positives from a mismatched global schema
  • No “switch and lose everything” moment: changing API or version affects only the active tab. Known-good tabs are untouched
  • Feature-gating per tab: bulk operations are Admin-only. The bulk button enables and disables based on the active tab’s API type, not a global flag
  • Persistence: API type and version save with the tab to IndexedDB. Close the browser, reopen it, your Storefront tab is still on Storefront
Parallel GraphQL sessions in one window. Different endpoints, different schemas, different versions. Closer to a multi-window IDE than a single editor.

Two tabs — two APIs, two versions, one window

┌────────────────────┴───────────────────┐ │ ● Products v2026-01 │ ○ Products v2025-10 │ │ Admin API │ Admin API │ ├────────────────────┼───────────────────┤ │ │ │ │ query { │ query { │ products(first:5) { │ products(first:5) { │ nodes { │ edges { │ id │ node { │ title │ id │ status │ title │ } │ } │ } │ } │────────────────────┼───────────────────┤ │ ✓ 200 OK 312ms │ lint: ‘edges’ deprecated └────────────────────┴───────────────────┘
Caxton woodcut, musicians

Chapter III

The Bulk Operations

Of the moving of great quantities of data, and the management thereof.

Flagship — Beyond Default

Bulk Operation Submit & Monitoring

Write a bulkOperationRunQuery in the editor, press Ctrl+Shift+B, and iGraphQL submits it to Shopify’s asynchronous Bulk Operations API. Shopify’s built-in editor has no bulk operation support at all — you would need to write and poll the mutation by hand in a separate tool.

  • Ctrl+Shift+B: open bulk submit modal
  • Name the job, set notification email
  • Choose CSV export mode: None (JSONL only), Flat, or Cascading
  • Job queued server-side; email sent with download link on completion
  • Status polling: CREATED → RUNNING → COMPLETED / FAILED
  • Completion shows object count, file size, and download link
  • Query cost shown before submission: requestedQueryCost, throttle status

Bulk submit modal

Run as Bulk Operation ─────────────────────────── Job name: graphql-ide-products-export Email: chris@yourshop.com CSV mode: Flat (one row per leaf record) Query Cost: Requested: 1,250 Available: 9,800 / 10,000 Restore: +500/sec [Queue Bulk Operation]
Flagship — Beyond Default

Bulk Queue Manager

Admins see every bulk job submitted across all users — status, submitter, object count, file size. Regular users see only their own jobs. All queue data lives in Shopify metafields; no external service required.

  • Per-user vs. admin visibility: admins see all, users see own
  • Force Sync: re-poll Shopify immediately (bypasses cooldown)
  • Refresh: update status for all visible jobs
  • Clear Finished: remove completed / failed jobs from view
  • Cancel running job from the queue manager
  • Download link appears inline when job completes

Queue manager — admin view

Bulk Operations Queue [⚡ Force Sync] ────────────────────────────── ■ COMPLETED products-export chris@12,847 objects • 4.2 MB [Download JSONL] [Download CSV] ▶ RUNNING inventory-sync alex@67% complete [Cancel] ■ CREATED orders-q4-export jordan@ • Queued 3 min ago [Cancel]
Data

JSONL → CSV Conversion

Shopify bulk operations produce JSONL — one JSON object per line, with child records referencing parent __parentId. iGraphQL parses that structure server-side and produces a spreadsheet-ready CSV in two modes.

  • Flat mode: one row per leaf record; parent fields pivoted into every row
  • Cascading mode: records grouped by parent, section headers inserted
  • JSONL-only mode also available (no conversion)
  • CSV and JSONL download links both provided on completion

Flat CSV output from bulk product export

product.id product.title variant.sku variant.price ──────────────────────────────────────────── gid://...8012 Widget A SKU-001 29.99 gid://...8012 Widget A SKU-002 34.99 gid://...8013 Widget B SKU-010 39.99 gid://...8014 Widget C SKU-020 49.99 12,847 rows exported in 1 file
Canterbury Tales woodcut

Chapter IV

Navigation Through Pages

Of the turning of pages, and the keeping of one’s place in the long journey.

Flagship — Beyond Default

Pagination Navigation

Shopify’s cursor-based pagination requires you to copy endCursor from the response JSON and paste it into your query variables by hand. iGraphQL reads the cursor, maintains a history stack, and navigates forward and back with a single keystroke.

  • Ctrl+. : next page — extracts pageInfo.endCursor, injects as after: variable
  • Ctrl+, : previous page — pops cursor history, fetches prior page
  • First Page Reset command available in Command Palette
  • Page counter displayed: Page N of ~M
  • Works with any Shopify connection-pattern query
  • Cursor history stack preserved for the session

Pagination state display

Response: products(first: 25) ─────────────────────────── pageInfo { hasNextPage: true endCursor: "eyJsYXN0X2lkIjo..." } Page 3 of ~12 (showing 51–75) Ctrl+. → Fetch next 25 products Ctrl+, ← Return to page 2
Analysis — Beyond Default

Response Diff

Run a query, make a mutation, run the query again, and see exactly what changed. The diff view compares the previous and current response with line-level highlighting — useful for verifying mutations and reviewing data changes without reading the raw JSON.

  • Ctrl+Alt+D: toggle diff mode
  • Views: unified (inline), side-by-side, previous only, current only
  • Additions highlighted; removals struck; changes indicated
  • Clear previous response command
  • Diff view available in Command Palette

Unified diff view

Diff: Previous → Current ─────────────────────────── "title": "Summer Widget", - "status": "DRAFT", + "status": "ACTIVE", "price": "29.99", - "inventoryQuantity": 0, + "inventoryQuantity": 150, "vendor": "Acme Co"
Analysis — Beyond Default

Response Search & Spreadsheet Export

Find any value in a large JSON response with Ctrl+F. Matches are highlighted via CodeMirror’s markText API so the virtual scroll of the response pane is never disrupted. Export the response to a flattened CSV or XLSX with one click.

  • Ctrl+F (response pane): highlight all matches; navigate next/previous
  • Match counter: “3 of 47”
  • Export to CSV: flattened GraphQL response, edges/nodes unwrapped
  • Export to XLSX: same transformation, Excel-compatible
  • Column headers generated from field paths

Spreadsheet export from query response

Export Response to Spreadsheet ─────────────────────────── id title status price gid://...8012 Widget A ACTIVE 29.99 gid://...8013 Widget B ACTIVE 39.99 gid://...8014 Widget C DRAFT 49.99 [Download CSV] [Download XLSX]
Caxton manuscript page

Chapter V

Code Export & Maintenance

Of the transcription of queries into the tongues of many languages, and the mending of old writings.

Flagship — Beyond Default

Code Export to 11 Languages

Once your query is working, export it as production-ready code. Shopify’s built-in editor offers no code export. iGraphQL generates complete, runnable code with authentication headers, variable handling, and proper error patterns for eleven target environments.

  • cURL, JavaScript (fetch), Node.js, Python (requests)
  • PHP (cURL), C# (HttpClient), VB.NET (HttpClient)
  • Ruby (Net::HTTP), Go (net/http)
  • VBScript / ASP Classic (single-line and multi-line string formats)
  • Postman Collection (JSON with environment variables)
  • Ctrl+Shift+E: open export modal; copy to clipboard or download file

VBScript / ASP Classic export

' Multi-line VBScript (Classic ASP): Dim sQuery sQuery = "" sQuery = sQuery & "query ProductSearch($q: String) { " sQuery = sQuery & " products(first: 10, query: $q) { " sQuery = sQuery & " edges { node { id title status } } " sQuery = sQuery & " } " sQuery = sQuery & "}" ' Single-line: Dim sQuery2: sQuery2 = "query ProductSearch..."
Maintenance — Beyond Default

Deprecation Fixer

Shopify deprecates GraphQL fields in every API version cycle. iGraphQL detects deprecated fields via live lint (yellow underlines) and provides a structured fixer: known migrations are applied automatically; others are flagged with the deprecation reason from the schema.

  • Real-time yellow underline on deprecated fields as you type
  • Ctrl+Shift+D: open deprecation fixer
  • Known mappings applied automatically (e.g. bodyHtmlbody, inventoryQuantity → InventoryLevel)
  • One-click fix per field or batch fix all
  • Deprecation reason and suggested replacement shown from live schema

Deprecation fixer panel

Deprecated Fields Found: 2 ─────────────────────────── product.bodyHtml "Use `body` instead." [Auto-fix] variant.inventoryQuantity "Use InventoryLevel.quantities." [View migration] [Fix All Known Fields]
Reliability

Schema Health Monitoring

The introspected schema is cached in IndexedDB keyed by API type and version. A staleness indicator appears in the editor when the schema has not been refreshed recently. On API version change, all caches are cleared and fresh introspection runs automatically.

  • Staleness detection: tracks time since last introspection
  • Visual indicator when schema may be outdated
  • One-click refresh from the staleness indicator
  • Forced refresh on API version change
  • Separate cache per API type (Admin / Storefront) and version

Schema status indicator

Schema current Admin API 2026-01 Last refreshed: 4 minutes ago Schema may be stale Admin API 2026-01 Last refreshed: 6 hours ago [Refresh now] On version change: auto-refresh
Knight on horseback, Caxton woodcut

Chapter VI

Governance & Multi-User

Of the ordering of pilgrims, and who may speak, and who may not.

Flagship — Beyond Default

User Management & Permissions

Shopify’s built-in editor has no concept of users or roles — anyone with Admin access can run any mutation. iGraphQL introduces four roles and per-user permission flags, enforced at the server layer. A developer cannot run mutations their role doesn’t allow, regardless of what they send to the API endpoint.

  • Roles: owner, admin, user, readonly — hierarchical, least privilege
  • Per-user flags: execute queries, execute mutations, run bulk ops
  • Mutation permission enforced server-side (not just UI)
  • Scope-level check: query name mapped to required Shopify OAuth scope; user must have it
  • Auto-provisioning: first login creates user record automatically
  • Admin UI: add/edit/remove users, toggle active/admin/mutations
  • Notes field per user
  • All user data stored as Shopify metaobjects — no external database

User management panel — admin view

Users [+ Add User] ──────────────────────────────────────── Chris S. owner Queries: Mutations: Bulk: Alex M. user Queries: Mutations: Bulk: Jordan K. admin Queries: Mutations: Bulk: Sam T. readonly Queries: Mutations: Bulk:
Reliability

Session Auto-Recovery

Shopify session tokens expire. iGraphQL monitors token validity in the background and re-authenticates proactively — before your next query fails, not after. Your tabs and their content are never lost during a session refresh.

  • Background token monitoring every few minutes
  • Proactive re-auth before expiry
  • Non-blocking toast notification on re-auth
  • All tab content preserved through session refresh
  • No manual login required in normal operation

Session status indicator

Authenticated Token valid for 52 minutes Next check: 3 minutes Re-authenticating… Your tabs and queries are safe. Session restored Continue working.
Management

Settings, Backup & Restore

Export your entire workspace — all tabs, saved queries, history, and preferences — as a single JSON backup file. Import it on another machine or after a browser reset. The full cycle takes seconds.

  • Export all data: tabs, queries, history, settings
  • Import from backup file — full workspace restored
  • Export saved queries as standalone JSON
  • Clear cached responses to free memory
  • Full storage reset option for fresh starts
  • Theme, font size, and other preferences stored in localStorage

Settings panel — data management

Settings › Data Management ─────────────────────────── Export All Data [Export] Import Data [Import] Export Saved Queries [Export] Clear Cached Responses [Clear] Danger Zone ─────────────────────────── Clear All Storage [Reset]
Caxton woodcut, musicians

Chapter VII

Productivity & Command

Of swift hands and quicker minds, and the palette from which all actions are drawn.

Productivity — Beyond Default

Command Palette & Find in Pane

Every major action in iGraphQL is registered in the Command Palette. Open it with Ctrl+Shift+K, type any part of a command name, and execute without lifting your hands from the keyboard. Find-in-pane (Ctrl+F) works independently in the query, variables, and response panes.

  • Ctrl+Shift+K: open Command Palette; fuzzy-search all commands
  • All major features register commands: pagination, diff, export, format, saved queries, history, bulk ops
  • Ctrl+F in query pane: highlight matches via CM markText; navigate next/previous
  • Ctrl+F in variables pane: same
  • Ctrl+F in response pane: highlight all matches in response JSON
  • Keyboard shortcuts legend: Ctrl+/ shows full reference

Command Palette (Ctrl+Shift+K)

Command Palette > bulk ─────────────────────────── Run as Bulk Operation Ctrl+Shift+B Open Bulk Queue Manager Force Sync Bulk Jobs Clear Finished Jobs > pret ─────────────────────────── Prettify Query Ctrl+Shift+F
Customization

Theme, Font & Fullscreen

iGraphQL ships with a dark theme and a light theme, toggled in one click in the header. Font size is adjustable via a slider for every display size. Fullscreen mode removes all browser chrome for maximum editor space. All preferences are saved to localStorage and restored on return.

  • Dark and light theme — one-click toggle in header
  • Font size slider: 10px–20px
  • F11: fullscreen mode
  • Syntax highlighting adapts to active theme
  • Preferences persist across browser sessions

Appearance controls in header

Header Controls: ☼ / ☽ Theme One-click dark ↔ light A──────A Font Size 10px — 14px — 20pxFullscreen (F11) Remove browser chrome
Support — Beyond Default

Built-in Support Tickets

Submit a support ticket without leaving the IDE. iGraphQL captures diagnostic context automatically — the API version you were using, your browser, and optionally the query and response at the time of the issue. Track open tickets in the “My Tickets” tab.

  • Submit tickets directly from within the IDE
  • Subject and description fields
  • Auto-captures: API version, browser info, current query/variables/response
  • “My Tickets” tab: view open tickets and responses
  • No external support portal required

Support panel

Support [Submit Ticket] [My Tickets] ─────────────────────────────────── Subject: [Bulk op timeout at 50k products ] Description: [Running products export with all ] [variant fields selected, job fails ] [after ~10 minutes with no result. ] ✓ Include current query and response ✓ Include API version (2026-01) ✓ Include browser info [Submit Ticket]

iGraphQL vs. Shopify iGraphiQL

A factual comparison, feature by feature

Feature Shopify iGraphiQL
built-in Admin editor
Codewomplers iGraphQL
Query tabs 1 tab, not persisted Unlimited tabs, IndexedDB-persistent
Workspace persistence Lost on page close Survives browser close and refresh
Query Explorer (visual field selector) None Interactive tri-state tree, two-way editor sync
Pagination Manual copy-paste cursor Ctrl+. / Ctrl+, auto-navigation with history stack
Bulk operations Not supported Submit, monitor, queue-manage, JSONL+CSV export
Code export None 11 languages: cURL, JS, Node, Python, PHP, C#, VB.NET, Ruby, Go, VBScript, Postman
Multi-user with roles Single user (anyone with Admin) Owner, admin, user, readonly — server-enforced
Mutation permissions No restrictions Per-user flag, enforced at API layer
Saved query library None Server-side, categorized, searchable
Query history None Full timestamped history with restore
Response diff None Unified and side-by-side diff views
Spreadsheet export None CSV + XLSX with auto-flattened nested data
Hover documentation Basic type popup Full docs panel, deprecation, directives, sub-type drill-through
Deprecation detection Lint warning only Real-time underline + auto-fixer with known migrations
Admin and Storefront APIs Separate app installs Per-tab toggle, shared schema cache per type
API version selector Yes Yes, with auto schema refresh on change
Command palette None Full fuzzy-search palette for all IDE actions
Find in pane None Ctrl+F in query, variables, or response pane
Dark / light theme Light only Dark and light, one-click toggle
Built-in support tickets None Submit and track tickets from inside the IDE
Settings backup / restore None Full workspace export and import
Reference

Complete Keyboard Shortcuts

Every major action has a keyboard shortcut. The full legend is also available at any time from within the IDE with Ctrl+/.

ShortcutAction
Ctrl+EnterExecute query
Ctrl+Shift+FPrettify / Compress query
Ctrl+Shift+QCopy query to clipboard
Ctrl+Shift+MMerge fragments inline
Ctrl+Shift+EOpen code export modal
Ctrl+Shift+DFix deprecated fields
Ctrl+Shift+KCommand Palette
Ctrl+Shift+LOpen saved queries library
Ctrl+Shift+SSave current query
Ctrl+Shift+BOpen bulk operations modal
ShortcutAction
Ctrl+HToggle history panel
Ctrl+DToggle documentation sidebar
Ctrl+SSave tabs to storage
Ctrl+TNew tab
Ctrl+WClose current tab
Ctrl+1–9Switch to tab N
Ctrl+FFind in active pane
Ctrl+.Next page (pagination)
Ctrl+,Previous page (pagination)
Ctrl+Alt+DToggle response diff
Ctrl+/Keyboard shortcuts legend
F11Toggle fullscreen
EscapeClose topmost panel or modal
Caxton Canterbury Tales page

Request Early Access

The journey is open to those who seek it.

Codewomplers iGraphQL is completing private testing ahead of its public Shopify App Store launch. If your team works with the Shopify Admin API and wants a proper development workspace — with multi-user permissions, bulk operations, persistent tabs, and an IDE that truly knows your schema — write to us to join the early access program.

Request Early Access

Write to chris@codewomplers.com with your shop domain and a brief description of how you use the Shopify API. Shopify App Store listing in progress.