Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Most CircleCI self-hosted runner incidents can be isolated by checking five things in order: the job’s exact resource class, whether a runner is attached to that class, token and API settings, queued-task concurrency, and finally provisioner and runner logs. An apparently empty runner inventory is not proof that capacity is available: queued tasks can already consume the class concurrency limit.
Start with the failure you can observe
“Preparing Environment” with no visible error, jobs that remain queued while a machine looks idle, and an orchestrator that does not add virtual machines have different symptoms but often share the same configuration causes. Use the symptom to choose the first check rather than restarting every component at once.
As an Amazon Associate I earn from qualifying purchases.
| Observed symptom | First check | Likely branch |
|---|---|---|
| Job remains queued or never leaves “Preparing Environment” | Job resource_class and attached runners |
The class name may be wrong, or the class has no available registered runner. |
| Runner inventory looks empty but jobs still cannot start | Queued tasks and resource-class concurrency | Queued work counts toward concurrency even when no task is actively running. |
| Orchestrator reports zero unclaimed tasks or creates no VMs | Class token, class key, API address, and organization settings | The controller may be polling the wrong class or an unreachable/unauthorized API. |
| Provisioner exits during startup | Kubernetes pod state, secrets, and provisioner configuration | A missing secrets.yaml, malformed values, or a class without a token can stop the controller before polling. |
| VM boots but never accepts work | Guest circleci-runner service and journal |
The VM started, but the runner agent may not be executable, registered, or able to reach CircleCI. |
The checks below are deliberately ordered so that a controller is not blamed for a job that targets a nonexistent class, and a runner is not reinstalled when the real problem is queue saturation.
1. Verify the job targets the intended resource class
A self-hosted machine runner is selected by resource class. The namespace and name in the job must exactly match the class configured in CircleCI, including capitalization and punctuation. A class that exists under a different spelling is functionally a different destination.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Inspect the job configuration
In .circleci/config.yml, a machine job should use the class assigned to your self-hosted fleet. For example:
jobs:
build:
machine: true
resource_class: acme/linux-runner
For Machine Runner Orchestrator, each key under provisioner.resourceClasses uses the same namespace/name form. Compare the complete string in the workflow job with the orchestrator key and with the resource class shown in the CircleCI web application. Do not replace this value with a CircleCI-hosted machine.image alias; that is a different execution path.
The orchestrator quickstart and class syntax are documented in CircleCI’s Machine Runner Orchestrator guide. The configuration reference for manually installed agents is in the Machine Runner 3 configuration reference.
Free tools Windows power users keep installed
One-click scans. No signup required.
Check that the class is attached to a runner
After confirming the spelling, open the runner inventory and verify that at least one machine is registered for that class. A resource class can be valid and visible while having no attached runner; jobs assigned to it can then wait indefinitely. On the machine itself, check that the runner service is active and that its recent log contains a successful registration rather than repeated authentication or connection failures.
For a Linux guest, the basic service checks are:
sudo systemctl status circleci-runner
sudo journalctl -u circleci-runner -n 100 --no-pager
The service name and unit location can differ with an installation method, so use the unit created by your Machine Runner 3 package. CircleCI’s Linux installation path is described in the Linux Machine Runner 3 installation guide.
Separate an unregistered VM from a controller failure
If the VM exists but does not appear in the inventory, focus on the guest service, its resource-class token, and outbound connectivity. If no VM is being created, focus on the orchestrator deployment, its polling counts, and Kubernetes events before changing guest configuration.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
2. Inspect Machine Runner Orchestrator startup and health
Machine Runner Orchestrator is a Kubernetes controller that provisions runner VMs through KubeVirt. The documented 1.0.0 release requires a Kubernetes cluster with KubeVirt, kubectl, Helm 3 or later, and a resource-class token for every class it provisions. Nodes hosting runner VMs need /dev/kvm. CircleCI reports testing with KubeVirt v1.8; that is the documented test setup, not a blanket compatibility promise for every later or earlier KubeVirt release.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Check deployment and pod state first
Before interpreting task counts, establish that the provisioner is actually running:
kubectl get deployments -A
kubectl get pods -A
kubectl describe pod $PROVISIONER_POD -n $RUNNER_NAMESPACE
kubectl logs deployment/$PROVISIONER_DEPLOYMENT -n $RUNNER_NAMESPACE
Use the actual pod, deployment, and namespace names from your release. A pod in CrashLoopBackOff, an unsatisfied volume, or an image-pull failure is not a CircleCI queue problem.
Look for configuration and secret errors
The startup troubleshooting section identifies a missing secrets.yaml, malformed configuration or secret values, and a resource class with no token as reasons the provisioner can exit before it begins polling. Validate the rendered Helm values and the Kubernetes Secret mounted by the deployment. Avoid printing token values while debugging; inspect key presence, names, and references instead.
Chart field names and defaults may change before general availability. Pin the chart version and review the release changelog before an upgrade, then recheck the version-specific commands in the current orchestrator documentation.
3. Validate tokens and API connectivity
Tokens perform two related jobs: they authenticate the resource class to CircleCI and authorize task polling or claiming. CircleCI’s runner FAQ states that “The resource class token is the method by which CircleCI authenticates that the resource class is valid.” The same token must belong to the class named in the orchestrator configuration; a valid token for another class is still wrong.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Regenerate and replace a suspect class token
- Open the resource-class settings in the CircleCI web application and compare the class namespace/name with the orchestrator key.
- If the token is wrong, expired, revoked, or copied with extra whitespace, generate a new token in the web application.
- Update the corresponding Helm value or Kubernetes Secret, redeploy the provisioner, and watch the deployment logs for the next poll cycle.
- Confirm that the new token is not exposed in shell history, CI output, pod descriptions, or support bundles.
CircleCI displays a resource-class token only once during creation. Store it in a secrets manager and treat it as a credential, not as ordinary configuration.
Use the correct API mode for Cloud or Server
Cloud and Server deployments do not use identical API settings.
| Deployment | Required focus | Common mistake |
|---|---|---|
| CircleCI Cloud | Poll with each class’s resource-class token. The personal circleToken is optional and retained for legacy /tasks endpoints. |
Using a personal token or a token from another class as the class credential. |
| CircleCI Server | Set circleciAPIAddr to the Server instance address and verify that runner VMs can reach it over the network. |
Copying a Cloud configuration into Server, or pointing the controller at an unreachable or incorrect address. |
For Server, test DNS, routing, firewall rules, proxy requirements, and TLS trust from the VM network, not only from the Kubernetes control plane. A controller that can reach the endpoint does not prove that newly created runner VMs can.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problems4. Check queued tasks and concurrency before adding capacity
CircleCI’s self-hosted runner troubleshooting documentation explains that concurrency is calculated across all tasks for a resource class, including tasks waiting in queue. The runner inventory, however, shows actively running tasks. Consequently, an inventory that appears idle can coexist with a class whose concurrency is fully consumed by queued work.
Query tasks for the exact class
Use the Runner API task query documented in CircleCI’s self-hosted runner troubleshooting guide, filtered to the complete resource-class name. The endpoint pattern is:
/api/v2/runner/tasks?resource-class=acme/linux-runner
Authenticate the request with the method required by your CircleCI deployment, keep credentials out of command transcripts and logs, and inspect whether tasks are unclaimed, running, or waiting. Do not infer queue depth from the inventory page alone.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Free a blocked class safely
If unclaimed tasks are consuming the class limit, identify why they cannot be claimed before deleting runners or increasing VM capacity. Cancel stale or genuinely abandoned tasks using CircleCI’s supported controls; the troubleshooting guidance recommends cancellation to release concurrency. Preserve task identifiers and timestamps when escalating an unexpected buildup.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallInterpret an orchestrator count of zero
An orchestrator reporting unclaimed_tasks: 0 while the project shows queued jobs is a signal to recheck the resource-class token, class name, organization, and API address. If a legacy personal token is configured, verify that it is valid and belongs to the correct organization. A mismatch in any of these values can make the controller poll successfully from a network perspective while receiving no claimable work.
5. Diagnose scaling decisions and replica limits
The provisioner logs unclaimed and running task counts on each polling cycle. Compare those counts with the desired VM count and with the configured bounds. A demand signal that never changes the desired count usually points to class or credential configuration; a desired count that stops at a fixed ceiling may simply have reached maxReplicas.
Review the scaling bounds
| Setting or observation | What it controls | Diagnostic implication |
|---|---|---|
minReplicas |
Baseline VM capacity maintained even with no queued work. | Zero queued tasks does not necessarily mean zero VMs. |
maxReplicas |
Upper bound on orchestrator-created VMs. | Queued work can remain when the cap is lower than demand. |
| Unclaimed count rises but desired count is unchanged | Controller’s reaction to demand. | Check token authorization, class key, API address, and controller errors. |
| Desired count rises but jobs remain queued | VM creation and guest readiness. | Inspect KubeVirt VM events, boot logs, and the guest runner service. |
Do not raise maxReplicas as the first response to a zero-task reading. Confirm that the controller is polling the intended class and that queued tasks are actually claimable.
6. Read the right logs for the right layer
Use a layered log sequence so each observation answers one question:
Recommended Free Tools
- Provisioner deployment: Check Kubernetes events, pod status, pod description, and deployment logs for startup failures, missing secrets, malformed values, and API authentication errors.
- Polling and scaling: Follow provisioner logs through several poll intervals. Record unclaimed-task and running-task counts, desired replicas, and any API response errors.
- VM lifecycle: If desired replicas increase, inspect KubeVirt VM and launcher events for scheduling, image, networking, or
/dev/kvmproblems. - Guest runner: On each VM, check
systemctl status circleci-runnerand recentjournalctloutput for registration, token, executable, and connectivity errors. - Job claim: Once a runner is registered, correlate its resource class and task claim time with the queued job. This distinguishes a healthy agent waiting behind concurrency from an agent that never polls.
This separation prevents a guest startup issue from being “fixed” by changing controller tokens, and prevents a queue-limit issue from triggering unnecessary VM reprovisioning.
Best Value
Manual Machine Runner 3 or orchestrator-managed VMs?
The troubleshooting path depends on how capacity is operated. Manual Machine Runner 3 installations usually fail at the agent, service, token, or host-network layer. Orchestrator-managed fleets add Kubernetes, KubeVirt, provisioning, and scaling layers.
| Operational path | Capacity behavior | Where to begin when jobs queue |
|---|---|---|
| Manual Machine Runner 3 | Static machines remain registered until an operator changes the fleet. | Resource class attachment, service status, local logs, token, and host connectivity. |
| Machine Runner Orchestrator | VM count responds to task demand within minReplicas and maxReplicas. |
Provisioner health, poll counts, class tokens, API address, KubeVirt VM state, then guest service. |
Neither path is universally preferable. Static runners reduce controller dependencies but require capacity planning and machine maintenance; orchestration can react to demand but introduces Kubernetes and virtualization failure modes.
Documented macOS first-install case
CircleCI documents a specific macOS scenario in which a newly installed self-hosted runner remains at “Preparing Environment” without an obvious error. The troubleshooting page instructs the operator to make /opt/circleci/circleci-launch-agent executable by root and run it with the launch-agent configuration file.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
sudo chmod +x /opt/circleci/circleci-launch-agent
sudo /opt/circleci/circleci-launch-agent --config $LAUNCH_AGENT_CONFIG
Set $LAUNCH_AGENT_CONFIG to the configuration-file path created by your installation; do not substitute a Linux service command. After correcting the permission and launching the agent, cancel the stuck job and rerun it. If it still does not execute, CircleCI’s documented next step is to contact support. This remedy is for the documented macOS first-install case and should not be generalized to every Machine Runner 3 platform.
Keep OIDC temporary-directory errors separate
A job can fail later in its runtime because OIDC token environment variables are missing when the default temporary directory is not writable or is mounted with noexec. The system temporary directory used by the OIDC plugin must be writable and permit execution. This is a job-runtime prerequisite, not the usual explanation for a runner that cannot register, poll, or claim a resource class. Diagnose it only after class selection and runner registration are healthy.
A repeatable escalation record
When the documented checks do not resolve the incident, capture a short, non-secret timeline:
- Exact resource-class namespace/name from the job and from the CircleCI configuration.
- Whether a runner is attached, its operating system, and the timestamp of its last successful registration.
- Provisioner version, Helm chart version, Kubernetes and KubeVirt versions, and configured
minReplicas/maxReplicas. - Poll-cycle values for unclaimed and running tasks, plus the observed desired VM count.
- Whether the deployment is CircleCI Cloud or Server, and the configured API address for Server.
- Relevant pod, provisioner, VM, and guest-service log lines with tokens, authorization headers, and other secrets removed.
This evidence lets support distinguish a naming or concurrency problem from an authorization, network, provisioning, or guest-agent failure without asking you to repeat destructive changes.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




