- Auto repair: Health checks detect a fault and the system remediates it, either after your approval or on its own, depending on the cluster’s confirmation policy.
- Manual repair: You start a repair action directly from the Together AI console.
Auto node repair
When passive health checks detect a node-level issue, the system generates a repair recommendation and remediates the node. Together handles detection and selects the repair action in every case. The cluster’s confirmation policy decides whether the recommendation waits for your approval or runs on its own.How auto repair works
- Health checks detect an issue on a node and create an alert with supporting evidence.
- The system evaluates the alert and generates a repair recommendation with a suggested mode (for example, migrate to new host).
- The recommendation appears in the Repairs tab of your cluster.
- Under Approve before repair, you review the recommendation and approve a repair action. The system marks its suggested action as recommended, but you can override it and approve a different action instead. Under Fully automatic, the system auto-approves an in-scope recommendation with no review and runs the recommended action.
- The system cordons the node so no new work lands on it, then applies the cluster’s wait policy.
- Together drains the node, executes the remediation action, and rejoins the node to the cluster.
Auto repair accounts for in-flight work. Training jobs need to checkpoint before a node drains, and inference workloads need their replicas rebalanced. Use the job interruption controls to give that work time to finish, and under Approve before repair, confirm your workloads are ready for the disruption before accepting.
Recommended repair actions
The system selects the recommended action based on the detected issue. Auto repair uses three of the available repair actions, from lightest to heaviest: reboot, quick reprovision, and migrate to new host. It never chooses cycle, which runs only when you request it. If the same fault keeps coming back on a host, later repairs escalate to a heavier action. Some signals are warning-only: they raise an alert for review but trigger no automated repair action. Each detected issue comes from a passive health check signal:Automated recommendations are enabled per cluster, and their coverage is still expanding. Not every signal in the table triggers an automated recommendation today. Some raise an internal alert that Together’s team reviews first. For GPU Xid errors, only a curated set of Xid codes generates a recommendation, and other Xid codes surface as informational alerts with no automated action. A recommendation waits for your approval unless the cluster’s confirmation policy is set to Fully automatic and the fault is in scope for automatic execution.
Confirmation policy
The confirmation policy controls whether auto repair waits for your approval before it runs a repair. To view or change it, navigate to your cluster on the GPU clusters page, select the Repairs tab, and find Auto-remediation policy.
A new cluster’s starting policy depends on your account’s settings, so check Auto-remediation policy after you create a cluster. If it shows Off, the cluster has no policy. Recommendations still wait for your approval, but an approved repair interrupts running work as soon as the node is cordoned, with no wait. Detection and recommendations work the same way under each policy. The policies differ in whether a repair waits for approval, which job interruption settings apply, and whether reboot faults escalate automatically.
Fully automatic
Under Fully automatic, the repair loop runs end to end with no human approval: passive health checks detect the fault, the system generates a repair recommendation, and auto repair runs it. The wait policy protects running jobs in place of a review step. Automatically approved repairs keep the same audit trail as manually approved ones. In the repair details, Reviewed by shows Together Health Checker and Review comment starts withauto-advanced: tenant confirmationPolicy auto_advance, alongside the alert evidence that triggered the recommendation.
You don’t have to run every fault unattended. Under Repair actions, choose which faults repair automatically and which wait for approval, and turn off auto repair for individual nodes that should always wait for approval.
The behavioral details apply under both policies.
Scope which faults repair automatically
Under Repair actions, faults are grouped by the repair they trigger: Migrate to new host, Reprovision, and VM reboot. VM reboot and Reprovision correspond to the reboot and quick reprovision actions in Available repair actions. Expand a group to see the faults it covers and check each one individually. Under Fully automatic, checked faults repair automatically and unchecked faults wait for approval in the Repairs tab. A group with both checked and unchecked faults shows as mixed. Under Approve before repair, the Repair actions list is read-only. It shows the repair each fault triggers, and every fault waits for review. Repair actions doesn’t list Remove. Removing a node for return merchandise authorization (RMA) is always human-initiated and never runs automatically.Turn off auto repair for individual nodes
To opt a single node out of automatic repair, set it to Disabled in the Auto Repair column of the Nodes tab. The Nodes tab shows this column when the cluster’s confirmation policy is Fully automatic. The disabled node’s recommendations always wait for your approval, while the rest of the cluster keeps the cluster-wide behavior. Use this to hold a node for inspection, for example while you debug a recurring fault, without giving up auto repair on the rest of the cluster. Manual repair still works on a node that has opted out. You can re-enable Auto Repair on the node at any time.Control job interruption
The wait settings control how long an approved repair waits after cordoning the node before it interrupts running work. The console shows and saves them only under Fully automatic. Under Approve before repair, an approved repair waits 30 minutes after the node is cordoned, then interrupts any work still running. Wait for idle determines whether an approved repair waits for running work to finish. The field under the toggle depends on the setting:- Wait for idle off: The system cordons the node immediately, waits out the Grace period, then drains the node and interrupts any work still running.
- Wait for idle on: The repair holds until the node becomes idle or Maximum wait expires, whichever comes first. To remove the upper bound and wait indefinitely for the node to go idle, check Do not interrupt running jobs.
Grace period and Maximum wait are in hours and accept fractional values:
0.5 is 30 minutes. Cordoning happens at the start of the wait either way, so no new work lands on a node that is queued for repair.Choosing a policy
Choose Fully automatic when:- Workloads checkpoint frequently, or are replicated inference deployments that tolerate losing a replica.
- The cluster is large enough that manual review is the bottleneck in mean time to recovery.
- The cluster has spare capacity, so a node leaving the pool doesn’t block scheduling.
- Long-running training jobs checkpoint infrequently.
- The cluster runs at full capacity, so losing a node stalls a job.
- You’re debugging a recurring fault and want the node preserved for inspection.
Override the recommended action
When you review a recommendation, you can approve its recommended action or override it with a different action. Override when you have more context than the automated policy, for example to reprovision instead of a recommended reboot. You can override only recommendations that wait for review. A recommendation that repairs automatically under Fully automatic runs its recommended action with no chance to override it. The review shows the health check failures that triggered the recommendation alongside the available repair actions, with the suggested action marked as recommended. Select an action to see its workload impact and an optional reason field, then confirm. To approve a recommendation from the command line, usetg clusters remediations approve. To override its action, pass a different one to --mode.
To override with migrate to new host, the node needs a critical health check alert that is firing now, or one that fired on its host in the last 10 days. Otherwise, the approval is rejected with a 412.
Cycle is available only on supported hardware and for accounts where Together has enabled it, so it doesn’t appear for every node. Where it’s available, you can choose it when you override a recommendation, trigger it as a manual repair, or create the remediation directly with
tg clusters remediations create.Behavioral details
- Auto-resolution before approval: If a recommendation’s underlying alert clears before you approve it, the recommendation moves to Auto resolved, usually within a minute of the alert clearing.
- Cooldown window: After a repair finishes (succeeded, failed, or cancelled), the system generates no new recommendation for the same node for about 30 minutes.
- Mode change while waiting: If a higher-severity failure is detected while a recommendation waits for your approval, its suggested mode can change in place.
- Repair concurrency: A cluster repairs a limited number of nodes at once: one node on clusters with 1 to 4 nodes, two on clusters with 5 to 10 nodes, and 15% of nodes (rounded up) on larger clusters. Replacement nodes that are still provisioning count toward the limit. Approved repairs beyond the limit stay Pending until a slot frees up.
Escalation for recurring faults
When the same fault keeps coming back on the same host, later repairs escalate to a heavier action. The system counts attempts per host and fault over a rolling seven-day window, and the count resets after the host itself is repaired.- Reboot to quick reprovision: After two reboots for the same fault on the same host, the next repair runs as a quick reprovision without review. This applies only to reboot faults that repair automatically, which requires a Fully automatic cluster, the fault checked under Repair actions, and Auto Repair enabled on the node. Reboot recommendations that wait for your approval don’t escalate.
- Quick reprovision to migrate: After two quick reprovisions for the same fault on the same host, the next one runs as a migration to a new host, as long as at least two spare hosts of the same type are available in the same datacenter. This applies on any cluster. It also covers quick reprovisions you approve or request manually while the fault is still firing. An escalated repair that you approved or requested still shows quick reprovision as its Mode, even though it runs as a migration.
The Repairs tab
To view repair recommendations and history:- Navigate to your cluster on the GPU clusters page.
- Select the Repairs tab.
- Node: The affected node name.
- State: The repair’s current state.
- Mode: The repair action, for example Migrate to new host.
- Trigger: How the repair started. Automated means health checks generated it, and Manual means a user triggered it.
- Created: When the repair recommendation was generated.
Repair states
The State column and the State filter show where a repair is in its lifecycle:
Quarantining and Quarantined occur only under the Auto-contain confirmation policy, which isn’t generally available.
Recommended, Quarantining, Quarantined, Pending, and Running are active states. While a node has a repair in an active state, you can’t start another repair on that node until the repair finishes or you dismiss the recommendation.
To filter by the same states from the command line, pass
--state to tg clusters remediations list.
Repair details
To open a repair’s details, select its row in the Repairs table. The details include these fields:- Node: The affected node name.
- State: The current repair state, for example Succeeded.
- Mode: The repair action.
- Created: When the recommendation was generated.
- Dispatched: When Together sent the approved repair to your cluster. Any wait for quarantine or idle time falls between this and Execution started.
- Execution started: When the repair interrupted the node and began running.
- Requested by: The source that initiated the repair. For auto repairs, this shows Together Health Checker.
- Reviewed by: The user name of whoever approved the repair, or Together Health Checker for repairs that ran automatically.
- Review time: When the repair was approved.
- Review comment: Any notes from the approval. Automatically approved repairs show
auto-advanced: tenant confirmationPolicy auto_advance, followed by an escalation summary when the escalation ladder changed the action. - Repair ID: The repair’s unique identifier, for tracking and support requests.
- Health Check failures: An expandable section that shows the alerts that triggered the recommendation, including failure type and affected hardware.
Linked alerts in API responses
When you retrieve or list remediations through the API, thelinked_alerts field includes the passive health check alerts tied to each repair. While the repair is a recommendation, the field holds the alerts that are still firing. Once the repair is approved or closed, it holds the resolved alerts captured as evidence. Each entry has these fields:
passive_health_check_alert_id: Alert UUID.alert_name: Alertmanager alert name.severity:PHC_SEVERITY_INFO,PHC_SEVERITY_WARNING, orPHC_SEVERITY_CRITICAL.started_atandresolved_at: When the alert fired and cleared (resolved_atis empty while the alert is still firing).target_vm: VM name from the alert labels.annotation: Structured alert details, containingtitle,summary_line, anddescription, plusxid(Xid events with code, mnemonic, and count) orslurm_node_unavailable(the Slurm reason) when they apply.annotations: Raw Alertmanager annotation key-value pairs.cluster_id: Cluster UUID the alert was raised against.instance_id: Resolved instance UUID (empty until the alert is joined to an instance).node_remediation_intent_id: Remediation intent UUID attached to the alert, if any.
Manual node repair
To fix a node problem without waiting for an automated recommendation, start a repair directly from the Nodes tab in the console.Start a manual repair
- Navigate to your cluster on the GPU clusters page.
- Select the Nodes tab.
- Select the ⋮ (three dots) menu at the end of the node’s row.
- Select Repair from the dropdown.
- In the repair dialog, review the node details (name and GPU configuration), the detected issue if there is one, and the impact warning.
- Select a repair action:
- Reboot: For transient software issues (preserves local data).
- Cycle: For issues that persist after a reboot but don’t need a fresh VM (power-cycles the physical host). Available only on supported hardware.
- Reprovision: For persistent software issues (a quick reprovision).
- Migrate: For hardware issues (a migration to a new host).
- Remove: For hardware that needs RMA (permanently removes the node).
For nodes in Pending or Scheduling, the repair dialog still lists every action, but only Reprovision is enabled. For nodes with an unset, Unknown, Deleting, or Deleted phase, the repair dialog offers no repair actions.A node can have only one active repair at a time. To start a new one, wait for the current repair to finish or cancel it.Migrate and Remove require host-level repair to be enabled for the node’s hardware, and return a
403 when it isn’t. Migrate also needs a critical health check alert on the node, firing now or on its host in the last 10 days. Without one, the repair runs as a quick reprovision instead. When no spare host is available, Migrate returns a 409. Try again later, or remove the node instead.Available repair actions
Reboot
Reboots the VM in place on the same physical host, without reimaging it.- When to use: Transient software issues (GPU driver hangs, stuck processes, kernel-level errors) where a restart is likely to clear the problem.
- What happens: The node follows the Cordon → Drain → Reboot → Rejoin lifecycle. Local scratch and temporary data on
/scratchand/tmpis preserved.
Reboot is the lightest repair action. Because the VM isn’t reimaged, a reboot is faster than a reprovision. For transient issues, try a reboot before escalating to a reprovision.
Cycle
Power-cycles the bare-metal host after cordoning it. Cycle is available only on supported hardware and for accounts where Together has enabled it. When it isn’t enabled for a node’s hardware, the console hides the action and the API rejects it with a403.
- When to use: Issues that survive a VM reboot but don’t require reprovisioning the VM or migrating to different hardware.
- What happens: The node follows the Cordon → Drain → Power cycle → Rejoin lifecycle. Together power-cycles the physical host through its baseboard management controller (BMC). Local scratch and temporary data on
/scratchand/tmpis preserved, and the node keeps its host and node identity.
Cycle sits between reboot and quick reprovision in severity: it resets power at the host layer without reimaging the VM, while reboot restarts only the VM.
Quick reprovision
Deletes the GPU node VM and provisions a replacement on any available host. The current host is not cordoned, so the replacement can return to it. To force a different host, use Migrate to new host. If the same fault has already needed two quick reprovisions on the host, the repair escalates to a migration instead.- When to use: Persistent software-level issues (driver crashes, library corruption), VM configuration problems, application-level issues that a reboot did not resolve, or nodes stuck in Pending or Scheduling.
- What happens: The node follows the Cordon → Drain → Reprovision lifecycle. The VM is recreated with a fresh software stack and rejoins the cluster automatically.
Migrate to new host
Provisions a new VM on a different underlying physical host.- When to use: Hardware-level issues (GPU failures, PCIe problems), issues that persist after a quick reprovision, or physical component failures.
- What happens: The node follows the Cordon → Drain → Migrate lifecycle. A new VM is created on different physical hardware with different GPUs assigned, and rejoins the cluster automatically.
Remove
Permanently removes the node from the cluster and lowers the cluster’s GPU count by that node’s GPUs. Nothing replaces it. Remove is rejected with a412 if it would leave the cluster with no GPU nodes.
- When to use: A confirmed hardware defect that migration can’t resolve, where the faulty GPU hardware needs to go back to the provider for RMA.
- What happens: The node follows the Cordon → Drain lifecycle, then leaves the cluster permanently.
Repair lifecycle
Auto and manual repairs follow the same lifecycle:- Cordon: The node is marked as unschedulable. No new workloads are placed on the node, but existing workloads continue running.
- Drain: Running workloads are gracefully terminated and pods are evicted from the node.
- Repair: The repair action runs. What it does to the node and its local data depends on the action:
- Reboot: The VM restarts in place on the same hardware. Local
/scratchand/tmpdata is preserved. - Cycle: The bare-metal host is power-cycled after cordoning. Local
/scratchand/tmpdata is preserved, and the node keeps its identity. - Quick reprovision: The VM is recreated on any available host. Local data is lost.
- Migrate to new host: A new VM is created on different physical hardware. Local data is lost.
- Remove: The node is permanently removed from the cluster for RMA. No rejoin occurs.
- Reboot: The VM restarts in place on the same hardware. Local
- Rejoin: The node automatically rejoins the cluster, becomes schedulable, and is ready to accept new workloads.
Choosing a repair action
When you choose a repair action yourself, start with the lightest action and escalate if the issue persists, in this order: reboot → cycle (where available) → reprovision → migrate to new host. Use this table to find the action that fits your issue:Best practices
Before triggering a repair:- Store important data on PersistentVolumes, not local storage.
- Check running jobs so you know what will be interrupted.
- Optionally drain workloads manually for more control over migration.
- Record the symptoms, so you have them for troubleshooting if the repair doesn’t resolve the problem.
- Start with reboot: It’s the fastest option, preserves local data, and resolves most transient software issues.
- Escalate to cycle: Try a cycle when a reboot didn’t fix the issue, the VM software stack doesn’t need to be reimaged, and cycle is available for the node. A host power cycle preserves local data and node identity.
- Escalate to quick reprovision: Reprovision when a reboot or cycle didn’t fix the issue, or when the problem is a corrupted driver, library, or VM configuration that requires a fresh software stack.
- Migrate to new host for hardware problems: Migrate when a reprovision didn’t fix the issue, you see hardware error indicators (ECC errors, Xid errors, thermal warnings), or GPU diagnostics show hardware problems.
- Verify that the node shows as Running in the cluster.
- Run a GPU workload to confirm operation.
- Monitor for recurrence of the same issue.
- Check GPU metrics to confirm normal operation.
Common diagnostic commands
To diagnose an issue before you trigger a repair, SSH into the node and run these commands:When to contact support
Contact support if:- An issue persists after you’ve tried every repair action.
- You see repeated failures on multiple nodes.
- You need help diagnosing whether an issue is software or hardware.
- Repair actions fail to complete.
- You’re unsure which repair action to use.
- A node doesn’t rejoin after its repair completes.
Next steps
Health checks
Monitor node health with active diagnostic tests and continuous passive monitoring.
Manage clusters
Manage, monitor, and scale your GPU clusters.