Replit is the fastest way to get OpenClaw running in the cloud without touching server configuration. Fork a template, add your API keys, and your agent is live in under 10 minutes. Here's the complete setup.
Why Replit for OpenClaw
Replit handles the infrastructure so you don't have to. No Docker, no server provisioning, no SSH. For early-stage agents and experiments, it's unbeatable for speed of deployment.
What you get with Replit:
- Instant deployment — code runs directly in the browser environment, no build pipeline needed
- Built-in secrets management — API keys stored securely as environment variables
- Always On — keep your agent running 24/7 without a cron workaround (paid plan)
- Public URL — every repl gets a public .repl.co URL for webhook endpoints
Project Setup
Create a new Python repl or fork the OpenClaw template. In the shell, install OpenClaw:
pip install openclaw
# Create your config
openclaw init
# Verify install
openclaw --version
Your project structure should look like this:
my-openclaw-agent/
├── main.py # entry point
├── openclaw.yaml # your agent config
├── requirements.txt # openclaw and dependencies
└── .replit # Replit run configuration
Set your .replit run command to python main.py and your main.py to start the OpenClaw gateway.
Configuration & Secrets
Click the lock icon in the left sidebar to open Replit Secrets. Add each API key as a separate secret:
# Secrets to add in Replit (accessed as environment variables):
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
TELEGRAM_BOT_TOKEN=...
SLACK_BOT_TOKEN=...
In your openclaw.yaml, reference secrets using the environment variable syntax:
model:
provider: anthropic
api_key: ${ANTHROPIC_API_KEY}
model: claude-3-5-sonnet-20241022
channels:
telegram:
enabled: true
token: ${TELEGRAM_BOT_TOKEN}
Keeping It Online
The free tier puts your repl to sleep after 30 minutes of inactivity. Two solutions:
Option 1 — Replit Always On (paid): Enable in your repl settings under "Always On". The agent runs continuously regardless of traffic.
Option 2 — External ping (free workaround): Use a free uptime monitoring service (UptimeRobot, Better Uptime) to ping your repl's public URL every 5 minutes. This keeps the free tier awake during active hours.
# Add a simple health endpoint to main.py
from flask import Flask
import threading
app = Flask(__name__)
@app.route('/health')
def health():
return 'ok', 200
def run_web():
app.run(host='0.0.0.0', port=8080)
threading.Thread(target=run_web, daemon=True).start()
# Then start OpenClaw normally
openclaw.start()
Common Mistakes
Installing packages without adding them to requirements.txt means they disappear when Replit rebuilds the environment. Always update requirements.txt after installing new packages.
- Using wrong Python version — Replit defaults to Python 3.10; OpenClaw requires 3.9+. Check your repl's Python version in .replit if you see import errors.
- Not setting the run command — without a run command in .replit, the green Run button does nothing. Set run = "python main.py" in your .replit file.
- Ignoring memory limits — free repls have 512MB RAM. Loading large models or many skills simultaneously can cause OOM kills. Monitor memory usage in the Replit performance tab.
- Forgetting to restart after secret changes — environment variables are loaded at startup. After adding or changing a secret, restart the repl for it to take effect.
Frequently Asked Questions
Is Replit free to run OpenClaw?
The free tier runs OpenClaw but sleeps after inactivity. The Hacker plan ($7/month) includes Always On for 24/7 uptime.
How do I store API keys securely on Replit?
Use Replit Secrets (lock icon in the sidebar). Keys are injected as environment variables and never exposed in your code.
What resources does OpenClaw need on Replit?
Standard 0.5 vCPU and 512MB RAM handles OpenClaw with a single channel and basic skills. Heavy workflows need a Boosted repl.
Can I run OpenClaw with a custom domain on Replit?
Yes. Custom domains are available on paid plans via Replit Deployments. Free plans use a .repl.co subdomain.
Does OpenClaw work with Replit's built-in database?
OpenClaw can use Replit Database as a lightweight persistence layer via the web_request skill, though Supabase is recommended for structured data.
How do I update OpenClaw on Replit?
Run 'pip install --upgrade openclaw' in the shell, then restart your repl. Secrets and config files are preserved through upgrades.
J. Donovan deploys AI agents across cloud platforms and documents the fastest paths to production at aiagentsguides.com.