wavetermdev/waveterm · error

error getting workspace: %w

Error message

error getting workspace: %w

What it means

Returned when retrieving a specific workspace fails, e.g. it does not exist or the store lookup errored. The underlying error is wrapped with %w.

Source

Thrown at pkg/wshrpc/wshserver/wshserver.go:956

					BlockId:     blkID,
					Meta:        blk.Meta,
				})
			}
		}
	}
	return results, nil
}

func (ws *WshServer) WorkspaceListCommand(ctx context.Context) ([]wshrpc.WorkspaceInfoData, error) {
	workspaceList, err := wcore.ListWorkspaces(ctx)
	if err != nil {
		return nil, fmt.Errorf("error listing workspaces: %w", err)
	}
	var rtn []wshrpc.WorkspaceInfoData
	for _, workspaceEntry := range workspaceList {
		workspaceData, err := wcore.GetWorkspace(ctx, workspaceEntry.WorkspaceId)
		if err != nil {
			return nil, fmt.Errorf("error getting workspace: %w", err)
		}
		rtn = append(rtn, wshrpc.WorkspaceInfoData{
			WindowId:      workspaceEntry.WindowId,
			WorkspaceData: workspaceData,
		})
	}
	return rtn, nil
}

func (ws *WshServer) ListAllAppsCommand(ctx context.Context) ([]wshrpc.AppInfo, error) {
	return waveappstore.ListAllApps()
}

func (ws *WshServer) ListAllEditableAppsCommand(ctx context.Context) ([]wshrpc.AppInfo, error) {
	return waveappstore.ListAllEditableApps()
}

func (ws *WshServer) ListAllAppFilesCommand(ctx context.Context, data wshrpc.CommandListAllAppFilesData) (*wshrpc.CommandListAllAppFilesRtnData, error) {

View on GitHub (pinned to a4447c1563)

Solutions

  1. Inspect the wrapped error to identify which workspace failed to load
  2. Remove/repair the dangling workspace entry in the wave DB
  3. Re-open windows/workspaces so references are rebuilt
Defensive patterns

Strategy: try-catch

Try / catch

workspaces, err := client.WorkspaceListCommand(ctx)
if err != nil {
    if strings.Contains(err.Error(), "error getting workspace") {
        // dangling workspace reference; clean up wstore entries
    }
    return err
}

Prevention

When it happens

Trigger: A workspace ID returned by ListWorkspaces no longer resolves in wstore — e.g. stale/dangling WindowId workspace reference or a deleted workspace entry.

Common situations: Dangling references after a workspace was deleted while a window still pointed at it; DB corruption; partial writes during crashes.

Related errors


AI-assisted analysis of wavetermdev/waveterm@a4447c1563 (2026-09-01). Data as JSON: /api/errors/3c7573e346c3b68d. Report an issue: GitHub.