{"record":{"id":"7b596bd1707f9c63","repo":"paperclipai/paperclip","slug":"this-task-is-not-attached-to-a-workspace","errorCode":null,"errorMessage":"This task is not attached to a workspace.","messagePattern":"This task is not attached to a workspace\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"ui/src/components/issue-properties/IssueProperties.tsx","lineNumber":612,"sourceCode":"  };\n  const issueUsesMainWorkspace = useMemo(\n    () => isMainIssueWorkspace({ issue, project: issueProject }),\n    [issue, issueProject],\n  );\n  const showWorkspaceDetailLink = Boolean(issue.executionWorkspaceId) && !issueUsesMainWorkspace;\n  const workspaceRuntimeConfig = issueUsesMainWorkspace\n    ? null\n    : issue.currentExecutionWorkspace?.config?.workspaceRuntime ?? null;\n  const workspaceRuntimeServices = issue.currentExecutionWorkspace?.runtimeServices ?? [];\n  const workspaceCanRunCommands = Boolean(issue.currentExecutionWorkspace?.cwd);\n  const workspaceCanStartServices = Boolean(workspaceRuntimeConfig) && workspaceCanRunCommands;\n  const workspaceRuntimeSections = useMemo(() => buildWorkspaceRuntimeControlSections({\n    runtimeConfig: workspaceRuntimeConfig,\n    runtimeServices: workspaceRuntimeServices,\n    canStartServices: workspaceCanStartServices,\n    canRunJobs: workspaceCanRunCommands,\n  }), [workspaceCanRunCommands, workspaceCanStartServices, workspaceRuntimeConfig, workspaceRuntimeServices]);\n  const hasWorkspaceRuntimeControls = !issueUsesMainWorkspace && (\n    workspaceRuntimeSections.services.length > 0\n    || workspaceRuntimeSections.otherServices.length > 0\n  );\n  const controlWorkspaceRuntime = useMutation({\n    mutationFn: (request: WorkspaceRuntimeControlRequest) => {\n      const workspaceId = issue.currentExecutionWorkspace?.id ?? issue.executionWorkspaceId;\n      if (!workspaceId) throw new Error(\"This task is not attached to a workspace.\");\n      return executionWorkspacesApi.controlRuntimeCommands(workspaceId, request.action, request);\n    },\n    onSuccess: (result, request) => {\n      queryClient.setQueryData(queryKeys.executionWorkspaces.detail(result.workspace.id), result.workspace);\n      void queryClient.invalidateQueries({ queryKey: queryKeys.issues.detail(issue.id) });\n      void queryClient.invalidateQueries({ queryKey: queryKeys.projects.detail(result.workspace.projectId) });\n      void queryClient.invalidateQueries({ queryKey: queryKeys.executionWorkspaces.overview(result.workspace.companyId) });\n      void queryClient.invalidateQueries({ queryKey: queryKeys.executionWorkspaces.workspaceOperations(result.workspace.id) });\n      if (companyId) {\n        void queryClient.invalidateQueries({ queryKey: queryKeys.issues.list(companyId) });\n        void queryClient.invalidateQueries({ queryKey: queryKeys.executionWorkspaces.list(companyId) });","sourceCodeStart":594,"sourceCodeEnd":630,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/ui/src/components/issue-properties/IssueProperties.tsx#L594-L630","documentation":"The issue properties panel attempted a workspace runtime action, but the issue has no currentExecutionWorkspace attached. UI-side guard explaining the action is unavailable because the task is not attached to a workspace.","triggerScenarios":"Thrown at ui/src/components/issue-properties/IssueProperties.tsx:462 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Attach the task to a workspace before using workspace-dependent actions."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}