Playbook · Offline access token metafield blank

Shopify offline access token metafield blank? Prove stored token, scopes, and owner.

Written for a Shopify DTC owner whose offline access token (background job, webhook worker, cron, or CLI) queries a metafield that is blank, empty string, or whitespace-only—while Admin or an online session may still show the value. Start with whether an offline token is stored for this shop, which scopes it carries, which owner and namespace.key the job reads, and one authenticated offline Admin API call. This is distinct from online access token metafield missing and token exchange metafield missing: those pages cover user-session tokens or the mint step; this page isolates the persisted offline token your backend loads after install.

Nico at Latch AI Ops · Sep 17, 2026 · ~10 minute read

Buy the 72-hour install — $997Online access tokenMerchant FAQ

01

An offline-token blank is not the same as an online miss or session blank.

Use this page when Admin or an online session shows a value, but an offline access token path returns blank, empty string, or whitespace—webhook, Flow action, worker, or cron. If only the live admin UI is blank, start with online access token metafield missing or session token metafield missing.

Capture shop, whether an offline token row exists, scopes on that token, owner id, namespace.key, Admin value, offline GraphQL errors, and timestamp. Do not reinstall the app before proving the job loads the offline token for the same shop Admin shows.

02

Prove the offline access token is stored for this shop.

Confirm install completed with offline access (not online-only). Check your session/token store for this shop domain: presence, created/updated time, and that the worker’s lookup key matches (myshopify domain vs custom domain mistakes are common). A missing or expired row is not a metafield definition bug.

Keep this distinct from offline id token metafield missing (id-token / claim surfaces) and from token exchange (minting the access token). Here the question is: does the job already have a usable offline access token?

03

Check scopes, API version, and protected-data access.

Log scopes on the stored offline token (without pasting the secret). Compare to the metafield owner type and any protected customer data requirements. Staff Admin can show values your offline token cannot read if scopes or approvals are missing—your code may map ACCESS_DENIED or empty edges to “missing.”

Also pin API version: a definition that exists in Admin may not be readable on an outdated Admin API version the offline client still uses. Record version alongside scope and owner.

04

Prove owner, namespace.key, and one offline Admin read.

With the offline token, query the exact owner gid and namespace.key. Compare to Admin on that owner. Separate absent key, null, empty string, wrong resource, app-owned definition the token cannot read, and response-mapping bugs. A value saved on a draft product while the job queries the published twin looks identical to “metafield missing offline.”

Keep diagnosis separate from OAuth scopes metafield missing (install consent) unless scopes themselves are the proven cause.

05

Retest one offline job; keep proof.

On one known shop, run one controlled offline Admin metafield query (or one real webhook/worker path). Record token presence, scopes, API version, owner id, namespace.key, Admin test value, GraphQL field state or error code, and timestamp. Retry only after the first trace is captured.

Classify the blank as missing offline token, wrong shop lookup, missing scopes, wrong owner, empty saved value, API version, or response mapping that treats null/empty as blank. Do not force a full reinstall until one offline query returns the Admin-visible test value.

06

When to stay DIY vs pay $997.

Stay DIY when one token-storage, scope, or owner check explains the miss. Keep the proof packet so later offline-job changes stay grounded.

Pay for the $997 one-time install when several Shopify surfaces, apps, and ops alerts need to be wired and documented on one live store. Nico at Latch AI Ops can connect the agreed workflow in a 72-hour window after collaborator access. No earnings claim, conversion guarantee, or theme rebuild is included; owner passwords are not requested.