{"record":{"id":"440b0a5173f61d78","repo":"davila7/claude-code-templates","slug":"workflow-with-hash-hash-not-found-please-che","errorCode":null,"errorMessage":"Workflow with hash \"${hash}\" not found. Please check the hash and try again.","messagePattern":"Workflow with hash \"(.+?)\" not found\\. Please check the hash and try again\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"cli-tool/src/index.js","lineNumber":2064,"sourceCode":"  console.log(chalk.blue(`🔧 Installing workflow from hash: ${workflowHash}`));\n  \n  try {\n    // Extract hash from format #hash\n    const hash = workflowHash.startsWith('#') ? workflowHash.substring(1) : workflowHash;\n    \n    if (!hash || hash.length < 3) {\n      throw new Error('Invalid workflow hash format. Expected format: #hash');\n    }\n    \n    console.log(chalk.gray(`📥 Fetching workflow configuration...`));\n    \n    // Fetch workflow configuration from a remote service\n    // For now, we'll simulate this by using a local storage approach\n    // In production, this would fetch from a workflow registry\n    const workflowData = await fetchWorkflowData(hash);\n    \n    if (!workflowData) {\n      throw new Error(`Workflow with hash \"${hash}\" not found. Please check the hash and try again.`);\n    }\n    \n    console.log(chalk.green(`✅ Workflow found: ${workflowData.name}`));\n    console.log(chalk.cyan(`📝 Description: ${workflowData.description}`));\n    console.log(chalk.cyan(`🏷️  Tags: ${workflowData.tags.join(', ')}`));\n    console.log(chalk.cyan(`📊 Steps: ${workflowData.steps.length}`));\n    \n    // Install all required components\n    const installPromises = [];\n    \n    // Group components by type\n    const agents = workflowData.steps.filter(step => step.type === 'agent');\n    const commands = workflowData.steps.filter(step => step.type === 'command');\n    const mcps = workflowData.steps.filter(step => step.type === 'mcp');\n    \n    console.log(chalk.blue(`\\n📦 Installing workflow components...`));\n    console.log(chalk.gray(`   Agents: ${agents.length}`));\n    console.log(chalk.gray(`   Commands: ${commands.length}`));","sourceCodeStart":2046,"sourceCodeEnd":2082,"githubUrl":"https://github.com/davila7/claude-code-templates/blob/a0851ed10c7c60463dac8cfaaca124cf32d5804d/cli-tool/src/index.js#L2046-L2082","documentation":"Thrown after fetchWorkflowData(hash) returns null/undefined: the CLI could not resolve the given hash to any workflow. Either the hash's encoded payload failed all decode paths or no local/registry entry matches the short form.","triggerScenarios":"Passing a valid-length (>=3 chars) hash that doesn't correspond to any stored/encodable workflow — e.g. an old shortened hash whose registry entry expired, or a fabricated hash.","commonSituations":"Share links from an older CLI/dashboard version using a different encoding; hashes shared from a different environment/registry; typos in the hash body.","solutions":["Regenerate the share link from the dashboard with the current version","Verify the hash was copied completely (long base64/compressed payload)","Upgrade the CLI to the latest version (`npx claude-code-templates@latest`) so decode formats match","If using short hashes, confirm the workflow still exists in the registry"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"null","typeGuard":null,"tryCatchPattern":"try {\n  await installWorkflowFromHash(hash);\n} catch (e) {\n  if (/not found/.test(e.message)) {\n    console.error('This share link is invalid or expired — regenerate it from the dashboard');\n    process.exit(1);\n  }\n  throw e;\n}","preventionTips":["Regenerate share links from the current dashboard version","Keep CLI and dashboard versions aligned","Treat share hashes as ephemeral — store the workflow definition, not the hash"],"tags":["workflow-hash","not-found","cli"],"backgroundTag":"share-link-not-found","analyzedSha":"a0851ed10c7c60463dac8cfaaca124cf32d5804d","analyzedAt":"2026-08-28T14:11:56.058Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}