medusajs/medusa · info

No keys found for platform "${platform}" in "${shortcut.labe

Error message

No keys found for platform "${platform}" in "${shortcut.label}"

What it means

The dashboard keybind provider resolves keyboard shortcuts per platform (e.g. mod+k on mac, ctrl+k on windows/linux). If a shortcut definition has no keys entry for the current platform, it warns and falls back to the first platform that does have keys. The shortcut still works, but with the other platform's key mapping.

Source

Thrown at packages/admin/dashboard/src/providers/keybind-provider/utils.ts:25

    )[0] ?? []

  return match.length
    ? {
        platform: match[0] as Platform,
        keys: match[1] as string[],
      }
    : null
}

export const getShortcutKeys = (shortcut: Shortcut) => {
  const platform: Platform = "Mac"

  const keys: string[] | undefined = shortcut.keys[platform]

  if (!keys) {
    const defaultPlatform = findFirstPlatformMatch(shortcut.keys)

    console.warn(
      `No keys found for platform "${platform}" in "${shortcut.label}" ${
        defaultPlatform
          ? `using keys for platform "${defaultPlatform.platform}"`
          : ""
      }`
    )

    return defaultPlatform ? defaultPlatform.keys : []
  }

  return keys
}

const keysMatch = (keys1: string[], keys2: string[]) => {
  return (
    keys1.length === keys2.length &&
    keys1.every(
      (key, index) => key.toLowerCase() === keys2[index].toLowerCase()

View on GitHub (pinned to 5e06e544a2)

Solutions

  1. Define keys for all supported platforms in the shortcut: { mac: [...], windows: [...], linux: [...] }
  2. Ensure platform keys use lowercase names exactly as expected by the provider
  3. Update @medusajs/dashboard-related packages so bundled shortcuts cover your platform

Example fix

// before
{ label: "Command menu", keys: { mac: ["Mod", "K"] } }

// after
{
  label: "Command menu",
  keys: {
    mac: ["Mod", "K"],
    windows: ["Ctrl", "K"],
    linux: ["Ctrl", "K"],
  },
}
Defensive patterns

Strategy: fallback

Validate before calling

const platforms = ["mac", "windows", "linux"] as const
const missing = platforms.filter(p => !shortcut.keys[p])
if (missing.length) console.warn(`Shortcut "${shortcut.label}" lacks keys for: ${missing.join(", ")}`)

Type guard

const hasKeysForAllPlatforms = (s: Shortcut): boolean =>
  ["mac", "windows", "linux"].every(p => Array.isArray(s.keys[p]) && s.keys[p].length > 0)

Prevention

When it happens

Trigger: Registering a shortcut whose keys object only defines some platforms (e.g. { mac: ["Mod", "K"] }) while running on windows/linux, or a platform key mismatch like "Mac" vs "mac".

Common situations: Custom shortcuts added by a plugin/contribution that omit platform coverage; running on an unusual platform string (e.g. electron-reported platform).

Related errors


AI-assisted analysis of medusajs/medusa@5e06e544a2 (2026-08-27). Data as JSON: /api/errors/6da565d7bfd382d3. Report an issue: GitHub.