How to Migrate from Self-Hosted OpenClaw to KiwiClaw (Zero Downtime)

4 min read

Self-hosting OpenClaw works until it does not. Maybe you are tired of babysitting a Mac Mini, patching security vulnerabilities on your own schedule, or running an agent on the same network as your personal devices. Maybe the CVE-2026-25253 remote code execution vulnerability was the final straw and you want your agent sandboxed properly. Whatever the reason, moving from a self-hosted OpenClaw instance to managed hosting does not require downtime, data loss, or starting over from scratch.

This guide walks through the full migration process in five steps. The entire procedure takes about 15 minutes, and you can run both your old and new instances in parallel during the transition so your agent never goes dark.

Before You Start

Make sure you have access to the machine running your current OpenClaw instance. You will need to read files from its configuration directory and note your channel connection details. If you are running OpenClaw in Docker, you will need access to the container or the mounted volumes. If it is running directly on macOS or Linux, you will need access to the OpenClaw config directory, typically ~/.openclaw/ or wherever you set your OPENCLAW_HOME environment variable.

You do not need to shut anything down yet. Your existing agent keeps running throughout this process.

Step 1: Export Your Data

The first step is gathering everything your current instance uses. There are four categories of data to export.

Skills list

OpenClaw stores installed skills in the skills/ directory inside your config folder. List everything you have installed:

ls ~/.openclaw/skills/

Write down the names or copy the directory listing. You will reinstall these on KiwiClaw, where each one goes through a security vetting process before activation. If you have custom skills you wrote yourself, copy those source files somewhere accessible. You will upload them manually later.

Agent memory and configuration

Your agent's personality, system prompt, memory, and behavioral settings live in configuration files. The key files to export are:

  • config.yaml -- the main configuration file with your agent name, system prompt, and behavioral rules
  • memory.json -- persistent memory the agent has accumulated from conversations
  • preferences.yaml -- model preferences, temperature settings, and token limits

Copy these files to a local folder or your desktop. You will upload them during the import step.

Channel connections

Document every messaging channel your agent is connected to. For each one, note the relevant credentials:

  • Telegram: bot token from BotFather, chat IDs for any groups the bot is in
  • Discord: bot token, server IDs, channel IDs, webhook URLs
  • Slack: app token, bot token, workspace ID, channel IDs
  • WhatsApp: phone number, API credentials from your WhatsApp Business setup

These credentials are reusable. You do not need to create new bots or register new numbers. You will point the same bots and tokens at your new KiwiClaw instance.

Custom configuration files

If you have added any custom middleware, proxy configurations, or environment variable overrides, export those too. Check for .env files, custom Docker compose overrides, or any scripts you run alongside OpenClaw.

Step 2: Create Your KiwiClaw Account

Head to kiwiclaw.app and sign up. You will choose between two plans (see full pricing details):

  • BYOK ($15/month): bring your own API keys for LLM providers. You pay KiwiClaw for hosting and infrastructure, and you pay OpenAI, Anthropic, or whichever provider you use separately for API usage.
  • Standard ($39/month): includes API access bundled in. Simpler billing, no separate API key management needed.

During signup, you will name your agent. This can be the same name as your current instance or something new -- it does not affect the migration. Your KiwiClaw instance begins provisioning immediately in an isolated sandbox environment. By the time you finish the next step, it will be ready.

Step 3: Import Configuration

With your KiwiClaw instance provisioned, open the dashboard and begin importing your exported data.

Upload skills

Navigate to the Skills section and install the skills you exported from your old instance. For skills available in the KiwiClaw marketplace, you can install them with one click. Each marketplace skill has already passed automated and manual security review, so you are protected against the 341+ malicious skills that have been discovered in the wild OpenClaw ecosystem.

For custom skills you wrote yourself, use the custom skill upload flow. KiwiClaw runs an automated scan on the code and flags anything that looks suspicious. If the scan passes, your skill is activated. If it flags something, you will see a detailed report explaining what was found so you can review and decide whether to proceed.

Import agent settings

Upload your config.yaml and memory.json files through the dashboard's import tool. KiwiClaw parses the configuration format used by self-hosted OpenClaw and maps it to the managed platform's settings. Your system prompt, agent personality, memory, and behavioral rules all carry over.

Configure model preferences

If you are on the BYOK plan, add your API keys for the LLM providers you use. Keys are encrypted at rest and never logged. Then set your model preferences: which model to use by default, temperature, max tokens, and any fallback models. If your exported preferences.yaml has these values, the import tool carries them over automatically.

Step 4: Reconnect Channels

This is the step where your new KiwiClaw instance starts receiving messages. The approach depends on whether you want to cut over immediately or run in parallel first.

For a parallel run (recommended)

If your messaging platform supports it, you can temporarily connect your new KiwiClaw instance to a test channel while your old instance continues serving the production channel. This lets you verify everything works before switching over.

  • Telegram: create a second bot via BotFather for testing, connect it to KiwiClaw, and test in a private chat
  • Discord: add the bot to a testing server or a private channel on your existing server
  • Slack: install the app in a test workspace or a dedicated testing channel

This parallel approach is what makes the migration zero-downtime. Your production agent never stops responding. The new instance handles test traffic until you are confident it behaves correctly.

For a direct cutover

If you prefer to switch immediately, update the webhook URLs in each messaging platform to point to your KiwiClaw instance. The KiwiClaw dashboard provides the exact webhook URLs to use for each platform. The process for each channel:

  1. Copy the new webhook URL from your KiwiClaw dashboard
  2. Open your messaging platform's bot settings (BotFather for Telegram, Developer Portal for Discord, App Settings for Slack)
  3. Replace the old webhook URL with the new one
  4. Save the changes

Messages start flowing to your KiwiClaw instance within seconds. Your old instance stops receiving messages as soon as the webhook is updated, so there is no duplication.

Step 5: Verify and Switch Over

Whether you ran in parallel or cut over directly, take time to verify that the new instance is behaving correctly.

Test the basics

  1. Send several messages across each connected channel and confirm the agent responds
  2. Test skills that you use frequently -- ask the agent to perform actions that trigger specific skills
  3. Check that the agent's personality and tone match what you expect from your system prompt
  4. Verify that memory is working by referencing previous context the agent should know

Check the dashboard

The KiwiClaw dashboard shows incoming messages, agent responses, skill executions, and any errors in real time. Look for failed skill executions, unexpected error rates, or responses that seem off. If something is wrong, your old instance is still available as a fallback.

Shut down the old instance

Once you are satisfied that KiwiClaw is handling everything correctly, shut down your self-hosted OpenClaw instance. If you were running in parallel with a test bot, now is the time to update the production webhook URLs to point to KiwiClaw and retire the test bot.

# On your old machine, stop the OpenClaw process
systemctl stop openclaw    # if running as a service
# or
docker stop openclaw       # if running in Docker
# or
# simply close the terminal session if running directly

Keep your exported configuration files as a backup for at least a few weeks. You will not need them, but it is good practice.

What About Conversation History?

OpenClaw stores conversation history locally. KiwiClaw's import tool can ingest your memory.json and conversation logs so the agent retains context from past interactions. If you have a large history, the import may take a few extra minutes, but it transfers in the background without affecting the agent's responsiveness.

Common Questions

Can I migrate a team setup?

Yes. If multiple people interact with your OpenClaw agent, the migration process is the same. KiwiClaw adds proper team management features on top: role-based access, audit logs, and shared skill management. Each team member gets their own access without sharing SSH credentials or VPN tunnels.

What if a skill fails the security scan?

You will receive a report detailing what was flagged. In many cases, the flag is a false positive triggered by legitimate network or filesystem access patterns. You can review the report, adjust your skill code if needed, and resubmit. If you believe the flag is incorrect, reach out and we will review it manually.

Do I need to change my Telegram bot or create a new Discord bot?

No. You reuse your existing bots and tokens. The only thing that changes is the webhook URL -- where the platform sends incoming messages. Your bot identity, username, avatar, and permissions stay the same.

Is there a way to roll back?

Yes. As long as your old instance's configuration files are intact, you can restart it and point your webhooks back. During the parallel testing phase, rolling back is as simple as not completing the cutover. This is one of the reasons we recommend the parallel approach: it is completely reversible until you decide to commit.


Migrating from self-hosted OpenClaw to KiwiClaw takes about 15 minutes of active work and results in zero downtime for your agent. You get sandboxed security, automatic updates, vetted skills, and the ability to stop worrying about the machine under your desk. If you are currently running OpenClaw on a Mac Mini or other local hardware, this is the fastest path to managed hosting without losing any of your configuration or context.

Questions about your specific setup? Reach out directly and we will help you plan the migration.

Related Reading

AR
Amogh Reddy
Founder, KiwiClaw · @AireVasant

Ready for secure OpenClaw hosting?

No infrastructure, no setup, no risks. Your agent is live in 60 seconds.