diff --git a/cli/cmd/utils.go b/cli/cmd/utils.go
index cafe1c3c0b7559610bc5ed794ffb4f3cf3894aa1..665c48a40b6800ec6e2c0de57aa08e6e25b4d5b7 100644
--- a/cli/cmd/utils.go
+++ b/cli/cmd/utils.go
@@ -76,34 +76,44 @@ func getDevices() ([]prompt.Suggest, error) {
 }
 
 func getSchemaTreeForDeviceID(id string) (map[string]*yang.Entry, error) {
+	spinner, _ := pterm.DefaultSpinner.Start("Fetching schema tree for Device with ID: %s", id)
 	dev, err := pndAdapter.GetDevice(id)
 	if err != nil {
+		spinner.Fail(err)
 		return nil, err
 	}
 	sid, err := uuid.Parse(dev[0].GetSbi().GetId())
 	if err != nil {
+		spinner.Fail(err)
 		return nil, err
 	}
+	spinner.Success()
 	return pndAdapter.GetSbiSchemaTree(sid)
 }
 
-func getPnds() []prompt.Suggest {
+func getPnds() ([]prompt.Suggest, error) {
+	spinner, _ := pterm.DefaultSpinner.Start("Fetching PNDs from controller.")
 	resp, err := api.GetIds(viper.GetString("controllerAPIEndpoint"))
 	if err != nil {
-		return []prompt.Suggest{}
+		spinner.Fail(err)
+		return []prompt.Suggest{}, err
 	}
 
 	s := []prompt.Suggest{}
 	for _, pnd := range resp {
 		s = append(s, prompt.Suggest{Text: pnd.GetId(), Description: pnd.GetDescription()})
 	}
-	return completer.SortSuggestionByText(s)
+	spinner.Success()
+	return completer.SortSuggestionByText(s), nil
 }
 
-func getChangesByType(cType pnd.ChangeState) []prompt.Suggest {
+func getChangesByType(cType pnd.ChangeState) ([]prompt.Suggest, error) {
+	spinner, _ := pterm.DefaultSpinner.Start("Fetching changes for type: %t", cType.String())
+
 	resp, err := api.GetChanges(pndAdapter.Endpoint(), pndAdapter.ID().String())
 	if err != nil {
-		return []prompt.Suggest{}
+		spinner.Fail(err)
+		return []prompt.Suggest{}, err
 	}
 
 	s := []prompt.Suggest{}
@@ -112,7 +122,8 @@ func getChangesByType(cType pnd.ChangeState) []prompt.Suggest {
 			s = append(s, prompt.Suggest{Text: change.GetId(), Description: change.State.String()})
 		}
 	}
-	return completer.SortSuggestionByText(s)
+	spinner.Success()
+	return completer.SortSuggestionByText(s), nil
 }
 
 // sliceContains checks if a slice contains the given item