{"record":{"id":"4047afeac52670c3","repo":"Fission-AI/OpenSpec","slug":"workset-open-json-unsupported","errorCode":"workset_open_json_unsupported","errorMessage":"workset open hands this terminal to the chosen tool and has no JSON mode.","messagePattern":"workset open hands this terminal to the chosen tool and has no JSON mode\\.","errorType":"exception","errorClass":"StoreError","httpStatus":null,"severity":"error","filePath":"src/commands/workset.ts","lineNumber":341,"sourceCode":"          workset.tool !== undefined\n            ? `  (opens in ${findOpener(table, workset.tool)?.label ?? workset.tool})`\n            : '';\n        console.log(`${workset.name}${toolLabel}`);\n        for (const row of formatMemberRows(workset.members)) {\n          console.log(`  ${row}`);\n        }\n      }\n    } catch (error) {\n      emitFailure(options.json, { worksets: [], status: [] }, error, 'workset_error');\n    }\n  }\n\n  async open(name: string, options: WorksetOpenOptions = {}): Promise<void> {\n    let prepared: PreparedOpen | undefined;\n\n    try {\n      if (options.json) {\n        throw new StoreError(\n          'workset open hands this terminal to the chosen tool and has no JSON mode.',\n          'workset_open_json_unsupported',\n          {\n            target: 'workset.tool',\n            fix: 'Inspect worksets with: openspec workset list --json',\n          }\n        );\n      }\n\n      // Regenerate the derived file FIRST (under the lock), so every\n      // cannot-drive failure below can name an existing, current file.\n      prepared = await withWorksetsLock(async (state): Promise<PreparedOpen> => {\n        const workset = getWorkset(state, name);\n        if (workset === null) {\n          throw worksetNotFoundError(name, state);\n        }\n\n        const checks = await Promise.all(","sourceCodeStart":323,"sourceCodeEnd":359,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/commands/workset.ts#L323-L359","documentation":"Error \"workset open hands this terminal to the chosen tool and has no JSON mode.\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/commands/workset.ts:341 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6926ccb18afa4ff621112813e9968334576ee11a","analyzedAt":"2026-08-25T12:29:45.729Z","schemaVersion":2},"datasetVersion":"2026-08-25T16:17:27.014Z"}