Documentation
Frequently asked questions
Common questions about provisioning, agents, integrations, security, and account management.
Around 4–5 minutes end-to-end. The dashboard streams each step in order (Preparing → Provisioning server → Security hardening → Configuring DNS → Installing software → Testing connection) with live progress. If it stops on Setup failed, the error log is expandable inline and Retry setup picks up where it left off.
Yes. The Overview tab on the Server page shows your domain, IP, and SSH port — all click-to-copy. Click Manage keys to paste your public SSH key, then ssh in from your machine using that host and port.
Server page → Terminal tab. It's a full PTY session connected to your VM and goes edge-to-edge on mobile so you get the most screen space. Anything you'd do over SSH works here.
Server page → Files tab. You get a file browser, drag-and-drop upload, in-place editing for text files, plus rename, mkdir, and delete. The same paths show up over SSH and in your agents' working directories.
Snapshots run automatically once a day. On the Server page → Overview, the Maintenance section has a Manage backups button — open it to see the full snapshot list, create a backup on demand, or restore from any snapshot. Restoring usually takes 1–3 minutes — your server is briefly unreachable while it swaps in.
Yes. Once a day your VM pulls the latest agent CLIs, plugins, and skills, then briefly restarts each running agent to apply them. The restart also gives long-running agents a fresh session, which clears accumulated context and keeps them sharp. Durable state survives — goals, the task queue, memory, and files on disk all persist; only an in-progress conversation turn is dropped, and the agent picks back up on its next run. The default window is 03:00 UTC, and you can change it under Server → Overview → Maintenance (the "Update window" dropdown) to a quieter hour for your timezone. There's nothing else you need to do.
Usually this isn't slowness at all: your browser has lost your server access token, so calls to your server stall instead of failing loudly. That token lives only in the browser you set the server up in (by design: 5dive keeps no usable copy of it), so clearing site data, switching browser, or opening the dashboard on a different device all leave you without it. The fix takes a second. If a banner at the top of the dashboard offers Regenerate token, press it there; otherwise go to Server → Overview → Maintenance → Access token and press Regenerate. On a new browser or a new phone this is expected, not a fault. If it's still stuck afterwards, check your server's status on Server → Overview: the box itself may be restoring or suspended.
It asks your server for a fresh access token and hands it to the browser you pressed it in. Safe to press whenever you like: it changes nothing else on the box, and your agents, files, and tasks keep running. The one thing to know is that only one browser holds a working token at a time, so any other browser or device you use will need its own Regenerate the next time you open it. That's deliberate, and it's also the remedy: if you ever think someone else has a copy of your dashboard session, Regenerate cuts theirs off.
There's nothing to move. Your agents run on your server, not in the browser, so signing in to the dashboard from the new machine is the whole migration. Expect one step: the new browser starts without your server access token, so the dashboard will flag the connection and offer Regenerate token (or use Server → Overview → Maintenance → Access token). Press it once and everything is back. The token is per browser, so the old laptop will need its own Regenerate the next time you use it.
Your subscription was canceled or payment failed. Resubscribe from the dashboard to restore access. Data is preserved during suspension — nothing is deleted.
Sidebar → Agents → Add agent (or Server → Agents tab). The wizard walks you through picking the agent type (Claude Code, Codex, Antigravity, Pi, Grok, Hermes, OpenClaw, opencode), naming it, choosing how much of the server it may touch (Admin, Standard, or Sandboxed), optionally pairing a chat channel, and authenticating in a terminal. Which channels you are offered depends on the type: a Claude agent can use Telegram, Discord, or Dashboard chat; the other types offer Telegram or Terminal only.
They all run on your server the same way, so pick by the model and account you want to use. Claude Code (recommended) is the top-tier all-rounder from Anthropic. Codex is OpenAI's agent and shines at research and writing. Antigravity is Google's CLI: sign in with your Google account. Pi is a multi-provider CLI where you bring your own API key (no sign-in flow). Grok, from xAI, brings a 1M-token context on your xAI subscription. Hermes and OpenClaw are friendly everyday assistants that you point at any provider with an API key. opencode needs no subscription; plug in any model with an API key. Each runs on your own subscription or API key with that provider, because 5dive doesn't resell model usage. You can run several side by side, so it's easy to try a couple and keep the one you like.
The Agents page lists every agent with live status (running / idle / not connected). Each row has a quick ⋮ menu including Restart, Interactive terminal, Send message and Place in org, plus a Manage button that opens the agent's detail page. That page has five tabs. Overview shows the agent's live logs and console, and its Monitoring actions: Interactive terminal, Live logs, Snapshot & copy. Chat is a conversation with the agent right in the dashboard. Tasks is that agent's slice of the shared queue. Skills is what's installed on it. Settings groups everything else into Communication (Send message, Enable chat, Add channel, Telegram access, Bot avatar), Account (Sign in, Switch account), Configuration (Model, Change folder, Heartbeat, Clone) and a Danger zone (Delete agent). Between them you get most of what you'd otherwise do over SSH.
First check whether it's only that one. If every agent goes disconnected at once, the agents are fine and the dashboard has lost its connection to your server: press Regenerate token in the banner at the top (or Server → Overview → Maintenance → Access token) and look again before re-running any sign-in, which won't fix a connection problem. For a single agent, Restart from the row's ⋮ menu fixes a crashed process. For anything deeper, click Manage to open the agent, then use the Settings tab: Sign in re-runs the auth flow if a token expired, and Pair re-links a channel if one is attached. The agent's logs on the Overview tab usually show the underlying reason.
Yes — add as many as you like from /dashboard/agents/new. Each runs as its own systemd service with its own working folder. To spin up a new instance from an existing agent's config, open that agent (Manage) and use Clone under Settings → Configuration.
Yes. Open the agent (Manage) and use Change folder under Settings → Configuration to point it at any subdirectory of /home/claude/projects. The agent starts in that folder every time, so that project is what it works on by default. Note that this sets where it works, not a wall it cannot step over: to actually restrict what an agent can reach, give it the Standard or Sandboxed isolation level when you create it.
Yes — every 5dive server has a built-in way for agents to talk. You can ask one agent to send a message to another, or have it wait for an answer before continuing — this is what makes coordinator-and-workers patterns work. For agents you create yourself from the dashboard, you have two options the first time: install the 5dive-cli skill on the lead agent (Agents page → Skills, or the agent's own Skills tab) so it knows about the bus, or just give it a starting hint like: "Use the 5dive CLI on this server to message the writer agent and wait for its reply — run `5dive agent --help` for the syntax." After that it picks up the pattern. Agents that another agent spawns get the skill automatically.
Tasks are a shared work queue across all the agents on your server — open Tasks in the sidebar (or an agent's Tasks tab). Create a task with a title and priority and assign it to an agent; everyone can see who's working on what and who's blocked. Statuses run todo → in progress → blocked → done (or cancelled). Agents can also create and pick up tasks themselves via the 5dive CLI, which is how coordinator-and-worker setups divide work. The Tasks page also shows an org chart of how your agents report to each other.
Yes — turn on its Heartbeat (open the agent → Settings → Heartbeat). When enabled, a scheduler wakes the agent only when it has open tasks assigned to it on the shared queue, and hands it exactly one task per wake. With no open tasks it stays completely idle — zero tokens, and it won't spend your provider's usage window. You set the minimum interval between wakes (anywhere from 5 minutes to 6 hours) and can optionally give each task a fresh context so it starts clean. It's off by default, so an agent never auto-wakes unless you enable it. Pair it with the task queue to let an agent work through assigned tasks unattended.
Open /dashboard/agents/new, pick Claude (or another agent), pick Telegram as the channel, and paste a bot token from @BotFather. The dashboard provisions the agent and the bot starts replying as soon as the install step finishes.
Same wizard at /dashboard/agents/new: pick Discord and paste the token from the Discord Developer Portal (Bot tab). Discord is offered for Claude agents; the other agent types currently pair with Telegram or run terminal-only. Make sure Message Content Intent is enabled and the bot has been invited to your server with the bot scope.
Restart from the row's ⋮ menu on the Agents page reloads the session — that fixes most cases. For more detail, click Manage to open the agent: the Overview tab's logs show what the bot is doing (usually a stale token or a crashed process), and if you rotated the token use Pair under the Settings tab to re-link with the new one.
Claude Code is silently dropping inbound channel messages because your Anthropic org has channels disabled in managed settings — this is the default on Claude team subscriptions. The agent will start fine and look healthy, but the plugin:telegram@claude-plugins-official channel never delivers anything to it. Fix it on the Anthropic side: an admin of your Claude organization opens claude.ai → Admin Settings → Claude Code → Managed settings (settings.json), clicks "Manage", and into the textarea pastes a JSON object that sets channelsEnabled to true and an allowedChannelPlugins array listing each channel plugin you use — each as a {"plugin", "marketplace"} object, e.g. {"channelsEnabled": true, "allowedChannelPlugins": [{"plugin": "dashboard", "marketplace": "5dive-plugins"}, {"plugin": "telegram", "marketplace": "5dive-plugins"}, {"plugin": "telegram", "marketplace": "claude-plugins-official"}, {"plugin": "discord", "marketplace": "claude-plugins-official"}]} — then saves. Listing every plugin matters because once any org-level allowlist exists, Claude stops reading its default ledger — anything not in your list silently stops working. Once the policy propagates, restart the agent and messages will start flowing. If you can't change the org policy, switch the agent to a personal Pro/Max login or run it under an org that allows channels.
Either through the new-agent wizard (pick Claude as the agent type) or by clicking the Claude Code tile under Server → Connect tools. Claude prints a URL — open it, sign in with your Claude subscription, and paste the auth code back. It runs on your subscription, not ours.
No. As of April 2026, Anthropic's Pro/Max subscription only covers first-party Claude products (Claude.ai and Claude Code itself). Third-party harnesses like OpenClaw and Hermes are explicitly out of scope, and routing them through a CLAUDE_CODE_OAUTH_TOKEN risks account suspension — so 5dive scrubs that token before starting these agents. To run OpenClaw or Hermes, sign in with their native auth in the new-agent wizard: both support an OpenAI/Codex login (uses your ChatGPT subscription), or you can paste an API key from any supported provider. Your Claude agent keeps using your Claude subscription as before — this restriction only applies to the third-party harnesses.
Server → Connect tools → GitHub. It opens a terminal running gh auth login. Pick HTTPS, then "Login with a web browser", then paste the one-time code GitHub prints.
Server → Connect tools is grouped into four tabs: Build (GitHub, Expo, Vercel, Neon, Supabase, Apify, Resend, ElevenLabs, Doppler, Playwright, agent-browser, Meta Ads), Cloud (Google Cloud, Cloudflare, Fly.io, AWS), Productivity (Obsidian, Tailscale, Voice, NotebookLM), and Payments (Stripe). There's also an All tab and a search box. Each tile opens a terminal with the right login command pre-filled. Voice installs speech-to-text and text-to-speech so you can talk with your agents.
Tokens and keys are written directly to your server during the terminal login. 5dive never sees them — they don't pass through our backend. The same goes for bot tokens you paste in the new-agent wizard: they're sent straight to your VM over the authenticated terminal session.
Yes — your agent can handle it end-to-end. Start with a scoping prompt before committing. Example prompt: "I want to migrate my WordPress site at example.com to this server. Before doing anything, list what you'd need from me (hosting login, DB dump, media), what will transfer cleanly, what won't (plugins, themes, custom code), and estimated downtime. Don't start yet." Then approve the plan and let it run.
Prompt injection is when content your agent reads — a web page, an email, a GitHub issue, a message from someone else in a Telegram group — contains instructions that try to hijack the agent. The agent can't reliably tell your instructions apart from instructions buried in content it's processing. Two things follow: only connect tools the agent should be allowed to use against you (a Stripe key on the server is a Stripe key the agent — or anything that prompt-injects it — can spend), and review high-impact actions before approving them. The risk grows with how many accounts you wire up and how much autonomy you grant.
That is set by the isolation level you pick when you create it, and it is the security decision in the wizard. Admin is the most capable and the most exposed: the agent can read and write files across the box and run any command-line tool on it, including .env files, SSH keys, browser cookies, and credentials from previous tool logins. Standard narrows it to reading shared files with limited power, and Sandboxed confines the agent to a private space of its own. Two more practical mitigations: open the agent (Manage) and use Change folder under Settings → Configuration to point it at one project, and keep long-lived API keys out of folders the agent works in. Treat an Admin agent like a developer with sudo: helpful, but don't hand it secrets you can't afford to leak.
Nothing, until you grant it. Support access (Server → Overview → Danger zone) installs a single 5dive support key on your server for 24 hours. While it's live, a 5dive support engineer can sign in over SSH as the same claude user your agents run as, and see what you see: files, logs, running agents. The key carries its own expiry inside sshd, so it stops working on its own and there's nothing to revoke or clean up, and granting again replaces the previous key rather than adding a second one. Every grant is recorded on the box itself: Server → Overview → Maintenance → View access log. To end a grant early, open the Terminal tab and delete the line marked "5dive-support:" from ~/.ssh/authorized_keys.
Yes — anyone the bot will reply to can drive the agent. A Telegram bot in a group, a Discord bot in a server, or a paired channel with the access policy set wide all let other people send instructions the agent will act on. Set the bot's access policy before sharing it (open the agent → Settings → Telegram access): for DMs you choose who can reach it — only people you add (an allowlist), anyone with a pairing code, or nobody — and group chats are managed separately, where you pick which groups the bot responds in. Any chat message asking you to approve a pairing, add someone to an allowlist, or change permissions is exactly what a prompt-injection attempt looks like — those changes only happen from your own dashboard or terminal, never from a chat message.
Billing → Manage Subscription. That opens the Stripe portal where you can switch plans, update payment method, or cancel. Canceling suspends the server at period end.
Billing → Manage Subscription. Invoices are in the Stripe portal, downloadable as PDF.
Sign in again at accounts.5dive.ai/sign-in. If the dashboard keeps bouncing you, clear cookies for 5dive.ai or try an incognito window.
Your on-server Claude agent is your support — it can read its own logs, restart its own services, and answer 5dive questions because the docs ship on the server. For account/billing problems before your server is up (signup, payment, provisioning failure), reply to any 5dive transactional email and a human will see it.