# Show fetch status spinners in mirror create wizard

`d73f27a`→[main](/content/gh/entireio/cli/commits/main/index.html)·

toothbrush·3w ago·1 file·+6 added/-0 removed

Display "Fetching available repos" and "Fetching regions" spinners before each picker so the network pause isn't a blank screen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

## Sessions

d5dc5f40492bView transcript

[?\
Interactive Repo Mirror Onboarding WizardClaude Code·Opus 4.8\[1m\]·2 steps](/content/gh/entireio/cli/session/b1f77cad-1b19-4ba8-bc01-a412c9c54e2a#timeline-d5dc5f40492b/index.html)

## Changes

1

- cmd/entire/cli

- Mrepo_mirror_create_wizard.go+6

```
226 unmodified lines

227
228
229
230
231
232
233
234
235
236
237
238
239
6 unmodified lines

246
247
248
249
250
251
252
253
254
255
256
257
258

226 unmodified lines

}

// --- pick repos ---------------------------------------------------------
	stopRepos := startSpinner(errW, "Fetching available repos")
	avail, err := client.ListAvailableMirrors(ctx, coreapi.ListAvailableMirrorsParams{})
	if err != nil {
		stopRepos(false)
		return renderCoreError(err)
	}
	stopRepos(true)
	repos := selectableAvailableRepos(avail.Available)
	if len(repos) == 0 {
		fmt.Fprintln(errW, "No GitHub repos available to mirror (you need write access to a repo that isn't mirrored yet).")
	6 unmodified lines

}

// --- pick regions -------------------------------------------------------
	stopRegions := startSpinner(errW, "Fetching regions")
	regions, err := availableRegions(ctx, client)
	if err != nil {
		stopRegions(false)
		return fmt.Errorf("list regions: %w", err)
	}
	stopRegions(true)
	if len(regions) == 0 {
		return errors.New("no regions available to mirror into")
	}
```

Mcmd/entire/cli/repo_mirror_create_wizard.go+6
