Start with the project file and the failing command
Cluster operations use the selected project file's name even after cluster use changes the default context. Another terminal's context switch can change a diagnostic target, so name the context in each kubectl command.
Sign-in or feature access fails
Cluster, route and prompt commands need AIDE credentials with the cluster feature. Run aide doctor to see the credential state, then follow the message. If no credentials are found, check AIDE_CREDENTIALS_PATH and CREDENTIALS_PATH, then run aide login; an expired credential or a failed renewal also needs aide login. If the message is a link to activate the cluster feature, the account is already signed in: open the link and activate the feature, because signing in again does not add it. Confirm with aide cluster list, which needs no project file.
Setup reports ready but a tool or DNS still fails
aide setup --check checks managed versions, packages and the helper files; it does not prove the tools are on PATH, Docker is reachable or sudo works. Project DNS also needs a running dnsmasq that reads /etc/aidcx/dns/aide-servers.conf. AIDE writes that file and signals a reload; it does not start dnsmasq or change /etc/resolv.conf.
Create refuses or fails partway through
Create checks the helper, the tools on PATH and free space on /: below 2 GiB it fails, below 10 GiB it warns. Free space by reviewing unused images, containers and volumes before removing specific ones. A failure can leave resources behind, and create refuses an existing cluster of the same name, so inspect before retrying. Use aide cluster delete only when teardown is intended, and omit --purge to keep named volumes.
A project hostname does not resolve
If a direct query to the cluster's DNS works but the normal lookup fails, look at local forwarding. If neither works, check the ingress hostname, CoreDNS and the DNS records. Wait for an observed record rather than a fixed delay.
TLS fails after a start or a container rebuild
With ca.generate: true, each start creates a new local CA while the cluster keeps the issuer from creation, so repeating start does not fix trust. Have the environment owner supply the original signing pair, set ca.cert and ca.key in the project configuration, remove ca.generate, and start again. Also check the trust store the failing browser uses; the certificate covers the base domain and one-label wildcard names.
Status, list or use disagrees with reality
List reads saved records and status turns many read failures into stopped or not-ready indicators. cluster use checks the saved state, switches kubectl, then writes the default, so after an error check both. To start a stopped cluster from another directory, pass that project's file.
A route is rejected or reaches the wrong backend
Use a literal IPv4 address and a valid TCP port; a listener bound only to loopback does not answer on another address. If an apply fails partway, inspect the Service, Endpoints and EndpointSlices with an explicit context, then fix the target and retry, or run route reset. route status probes from the CLI, not from ingress, so confirm through the application's own URL.
The service bridge resolves a name but cannot connect
Confirm the Service address lies in the routed range, the route uses the node's real address, and the Service has a listening backend. Use full Service names such as api.apps.svc.cluster.local. A network policy or firewall can still block the path. To disable the bridge, stop with the original range configured, check cleanup, then turn service_bridge off. Keep one bridge active across projects.
An update needs a terminal or could not be applied
aide update asks for confirmation on a terminal, so run it in one. After it downloads the release, the next aide command you run, including aide version, switches to it first. If aide cannot switch, it prints a warning with the reason and runs your command on the version you had: fix the reason, such as a folder your account cannot write to, or install the newer release with aidc install mait:aide@latest, then confirm with aide version.
aide legal or aide help legal is rejected
aide legal lists the third-party components, and aide help lists it. If it is an unknown command, your release is older: check aide version and update. legal is a subcommand only, so aide --legal is rejected as an unknown argument. Choose either --json or --markdown, not both.
What you getA local cluster whose names resolve, whose certificates are trusted and whose routes reach the intended process.