CtrlOps
|Docs
Troubleshooting

AI Not Responding

Fix the CtrlOps AI Assistant when it won't reply, refuses commands, or returns errors. Diagnose API keys, model settings, network issues, and rate limits.

The AI Assistant is the panel that slides in on the right when you click Ask AI. It needs one AI provider connected to work - a ChatGPT account, an OpenRouter account, or your own API key - and it talks to that provider directly. Most AI problems boil down to a credential issue, a network issue, or a provider issue.

CtrlOps doesn't run its own AI service. You connect your own provider account or API key, and CtrlOps stores the credential locally on your computer. Costs for AI usage are paid directly to your provider, not to CtrlOps.

Why the AI Terminal Stops Responding

  • Fixing the "AI Not Configured" empty state.
  • "Unauthorized" and "Invalid API key" errors.
  • Models dropdown stuck on "Loading models...".
  • Slow responses, timeouts, and rate limits.
  • AI suggesting wrong or unsafe commands.
  • Auto-Run not behaving the way you expected.

Common problems and fixes

No AI provider is connected yet. Open AI Keys from the left sidebar, under TOOLS, then pick one of three ways to connect:

  • Sign in with ChatGPT: on the first Quick connect card, if you already have a ChatGPT account. No API key.
  • Connect with OpenRouter: on the second card. A free OpenRouter account is enough - CtrlOps picks a free model for you.
  • Add credential: in the API credentials section, to use your own key from OpenAI, Anthropic, Google, or a custom OpenAI-compatible endpoint.

See the AI Terminal page for the full walkthrough.

The API key isn't being accepted by the provider. Causes, in order of likelihood:

  • The key was copied with extra whitespace. Re-copy from your provider's dashboard and re-paste.
  • The key was revoked or rotated. Generate a new one in the provider's console.
  • The key has the wrong permissions / scope. OpenAI keys need access to chat completions. Anthropic keys need messages access. Most personal keys have everything by default.
  • You're out of credits. Many providers freeze keys when the prepaid balance hits zero.

Fix: Left sidebar → TOOLS → AI Keys → click Edit on the credential → paste the new key → click Test connection before saving.

The provider's API isn't returning a list of models. Three things to check:

  • API key first. A wrong key shows the same symptom. Click Test connection, if it says Unauthorized, fix the key.
  • For OpenAI Compatible providers: the Base URL is required and must include the version path, for example https://api.your-provider.com/v1, not just https://api.your-provider.com.
  • Network issues between you and the provider. Check by visiting the provider's dashboard in a browser, if that loads, the network is fine.

You've sent more requests in a short window than the provider allows. The fix depends on your provider:

ProviderWhat to do
OpenAIVisit the OpenAI usage page to see your tier limits. Wait a minute and retry, or upgrade your tier.
AnthropicFree-tier accounts have low rate limits. Add credits to move into a higher tier.
Google GeminiFree tier has strict per-minute limits. Wait, or switch to a paid model.

Switching to a cheaper model from the dropdown also helps, because cheaper models often have higher rate limits.

A few things to try, in order:

  • Switch to a faster model from the dropdown at the bottom-left of the AI panel. Try claude-haiku, gpt-4o-mini, or gemini-flash.
  • Reduce the conversation length. Click New in the AI panel header to start a fresh chat. Long histories make every response slower.
  • Lower the Max AI reasoning steps in the panel footer. The AI may be running many internal steps before answering. Try 20 to 50.
  • Check the provider's status page if responses are abnormally slow across many sessions.

The AI hit the Max AI reasoning steps cap mid-task. Two fixes:

  • Raise the cap. The slider in the AI panel footer goes up to 200. Bump it for complex tasks.
  • Break the task in half. "Set up nginx + issue an SSL cert + start the app" is three tasks. Ask each one separately, then chain them.

A few things sharpen the responses:

  • Be specific. "Apache shows 'Address already in use' on port 80" gets a better answer than "my server is broken".
  • Paste the exact error. The AI is excellent at decoding cryptic error text but can only do that if it sees the text.
  • Mention the OS. Ubuntu, CentOS, Amazon Linux, all have slightly different commands. Saying so up front avoids generic guesses.
  • Start a new conversation when you switch topics. Long conversations drift.
  • Try a stronger model (claude-opus, gpt-4o, gemini-pro) for hard or unusual problems.

The terminal session may have disconnected. Look at the bottom-left for a "Disconnected" alert, click Reconnect, then ask the AI to retry.

If the terminal is connected but Run still does nothing, switch to another tab and back to refresh the panel. As a last resort, right-click the terminal and choose Reset Session.

Auto-Run only auto-approves commands the AI proposed itself in the same conversation. Some safety-critical commands, particularly those that delete files or stop services, may still surface a confirmation. That's intentional.

If you want zero prompts at all, the AI panel's Auto-Run toggle is the only switch, there is no separate "safety level" setting in the product today.

Leave Auto-Run off until you've used the AI for a while. Once it's on, every command runs the moment the AI suggests it, and reading mistakes get expensive fast.

Reset by switching tabs:

  • Click the File Manager tab in the sidebar, then back to AI Terminal.
  • Click Ask AI in the header.

If it's still stuck, restart the app. The chat history is preserved as long as you don't click New.

A few common cost traps:

  • Heavy models on every question. GPT-4 Opus / Claude Opus / Gemini Pro are 5 to 20 times more expensive per token than their smaller siblings. Switch to a small model for routine questions and reserve the big ones for hard problems.
  • Auto-Run on with chains of commands. Each command's output gets fed back to the AI, which decides on the next command. Twenty hops add up.
  • Web Search on by default. Web search adds tokens. Toggle it off when you don't need it.
  • Long-running conversations. Old messages in the same conversation are re-sent on every new question. Click New when starting a different topic.

You can see exact costs in your provider's dashboard. Set a monthly budget cap there if you want a hard limit.

The AI sometimes returns plain code without specifying a language. To force highlighting, ask it to "format the answer as bash" (or python, sql, nginx, etc.). The next response will use that language hint.

Highlighting is supported for: bash, javascript, typescript, python, php, sql, yaml, json, nginx, and most other common languages.

When all else fails: gather details and ask

Before reaching out, collect:

InfoWhere to find it
The exact error textFrom the AI panel chat or the toast
Which provider and model you're usingFrom the dropdown at the bottom-left of the AI panel
The status of Test connection on your credentialLeft sidebar → TOOLS → AI Keys → click your credential
A screenshot of the panelWhole AI panel, including the footer

Then bring it to:

  • Discord community: Join Discord
  • The AI itself, ironically. Paste the error you saw and ask the AI to explain the cause. Often it can.

AI is a fast assistant, not an oracle. Read every command before you click Run, especially anything that deletes files, stops services, or rewrites configs.