The terminal client for OpenClaw.
repclaw is the terminal-native client for OpenClaw. Connect to your gateway, pick an agent, and start chatting. Responses stream in live, messages render as markdown, and you never need to reach for the mouse.
No file browsers, no task boards, no dashboards. Just chat.
- Chat with your OpenClaw agents from the terminal, with streaming responses, conversation history, and multi-agent support
- Create agents directly from the TUI
- Markdown rendering for assistant messages
- Shell commands — run locally with
!or remotely on the gateway with!! - Message queueing so you can keep typing while the agent is responding
- Local agent skills loaded from
~/.agents/skills/as slash commands - Live token/cost stats in the header bar
curl -fsSL https://raw.githubusercontent.com/outofcoffee/repclaw/main/install/repclaw.sh | shOr, if you have Go 1.24+:
go install github.com/outofcoffee/repclaw@latestOr build from source:
git clone https://github.com/outofcoffee/repclaw.git
cd repclaw
go build -o repclaw .Create a .env file in the directory you'll run repclaw from (or export the variable in your shell):
OPENCLAW_GATEWAY_URL=https://your-gateway-hostThe gateway URL can use https, http, wss, or ws schemes. repclaw derives the WebSocket endpoint automatically.
| Flag | Description |
|---|---|
--history-limit <n> |
Number of messages to load per session (overrides the preference; default 50) |
--version, -v |
Print version and exit |
repclawOn first run, repclaw generates an Ed25519 device identity under ~/.openclaw-go/identity/ and sends a pairing request to the gateway. On the gateway host, run:
openclaw device list --pendingYou should see repclaw's device ID. Approve it:
openclaw device approve <device-id>Then restart repclaw — subsequent connections use the stored device token automatically.
Select an agent from the list to start chatting.
| Key | Action |
|---|---|
Enter |
Select agent |
n |
Create a new agent |
Ctrl+C |
Quit |
| Key | Action |
|---|---|
Enter |
Send message |
Alt+Enter |
Insert newline |
Ctrl+W |
Delete word |
PgUp / PgDn |
Scroll chat history |
Tab |
Autocomplete slash command |
Esc |
Back to agent list |
Ctrl+C |
Quit |
Use /config to open the preferences view. Settings are persisted to ~/.repclaw/config.json.
| Setting | Default | Description |
|---|---|---|
| Completion notification | On | Ring the terminal bell when a response completes |
| History limit | 50 | Number of messages loaded when restoring a session (range 10–500) |
In the config view, use Space to toggle checkboxes and ←/→ to adjust numeric values.
Type these in the chat input. Tab autocompletes partial commands.
| Command | Action |
|---|---|
/help |
Show available commands |
/agents |
Return to agent picker |
/clear |
Clear chat display |
/compact |
Compact session context (with confirmation) |
/config |
Open preferences |
/model |
List available models |
/model <name> |
Switch model (fuzzy match) |
/reset |
Delete session and start fresh (with confirmation) |
/sessions |
Browse and restore previous sessions |
/skills |
List available agent skills |
/stats |
Show token usage and cost breakdown |
/quit, /exit |
Quit repclaw |
Prefix input with ! to run a command locally on your machine. The input border turns green to indicate local execution mode.
!ls -la
!git status
!cat README.md
Prefix input with !! to run a command on the gateway host. The input border turns amber to indicate remote execution mode.
!!hostname
!!ls -la /tmp
!!uptime
The gateway's exec security policy controls which remote commands are allowed. If a command is denied, you'll see an error message. Configure exec permissions on the gateway host using openclaw config.
repclaw uses the openclaw-go SDK for gateway communication. The TUI is built with Bubble Tea, Bubbles, and Lip Gloss, with markdown rendered via Glamour.
Device identity (Ed25519 keypair) is stored at ~/.openclaw-go/identity/ and shared with other openclaw-go clients.
Apache 2.0
