MonoClaw

CLI Usage

The monoclaw CLI is the primary way to interact with Mona. It supports two interfaces: the classic CLI and the modern TUI.

Starting Mona

monoclaw            # Classic CLI
monoclaw --tui      # Modern TUI (recommended)

Both share the same sessions, slash commands, and config.

Key commands

CommandDescription
monoclawStart chatting
monoclaw --continueResume last session
monoclaw modelChoose provider and model
monoclaw toolsConfigure tool access
monoclaw setupFull setup wizard
monoclaw doctorDiagnose issues
monoclaw updateUpdate to latest version
monoclaw gatewayManage messaging gateway
monoclaw config set <key> <value>Set config value
monoclaw skills search <query>Search skills hub
monoclaw sessions listList recent sessions
monoclaw profile create <name>Create new profile
monoclaw cron create "<schedule>" "<prompt>"Create cron job
monoclaw webhook subscribe <name>Subscribe to webhook events

## Slash commands

Type `/` during a chat to see available commands:

| Command | What it does |
|---------|-------------|
| `/help` | Show all commands |
| `/tools` | Toggle tools on/off |
| `/model` | Switch models |
| `/personality <name>` | Change personality |
| `/save` | Save conversation |
| `/fork` | Fork session |
| `/voice on` | Enable voice mode |
| `/voice off` | Disable voice mode |
| `/clear` | Clear screen |
| `/exit` | End session |

## Keybindings

### Classic CLI

| Key | Action |
|-----|--------|
| `Enter` | Send message |
| `Alt+Enter` | New line |
| `Ctrl+J` | New line |
| `Shift+Enter` | New line (Kitty/WezTerm/Ghostty) |
| `Ctrl+C` | Interrupt agent |
| `Ctrl+D` | Exit |
| `Tab` | Autocomplete slash commands |
| `↑` / `↓` | Navigate message history |

### TUI

| Key | Action |
|-----|--------|
| `Enter` | Send message |
| `Shift+Enter` | New line |
| `Esc` | Exit modal / Cancel |
| `Ctrl+B` | Record voice (voice mode) |
| `Ctrl+C` | Interrupt agent |
| `Ctrl+D` | Exit |
| `Mouse` | Select text, click buttons |

## Multi-line input

Press `Alt+Enter`, `Ctrl+J`, or `Shift+Enter` to add a new line without sending. `Shift+Enter` requires a terminal that supports the Kitty keyboard protocol (Kitty, WezTerm, Ghostty, foot by default; iTerm2, Alacritty, VS Code terminal with protocol enabled).

## Interrupting Mona

If Mona is taking too long:
- Type a new message and press `Enter` — she'll switch to your new instructions
- Press `Ctrl+C` to cancel the current operation
- Press `Ctrl+C` twice to force quit

## Context files

Pass files directly into your conversation:

```bash
monoclaw --file README.md
monoclaw --file src/

Or use context references inside chat:

@README.md what does this project do?

Personalities

Change Mona's personality on the fly:

/personality pirate

Built-in personalities:

  • default — Professional, concise
  • pirate — Playful, swashbuckling
  • teacher — Patient, explanatory
  • concise — Minimal, direct

Create custom personalities by adding files to ~/.monoclaw/personalities/.

Environment variables

Override config per-session:

MONOCLAW_MODEL_DEFAULT=openai/gpt-5.5 monoclaw
MONOCLAW_TERMINAL_BACKEND=docker monoclaw

Logging

CLI output is mirrored to ~/.monoclaw/logs/cli.log. Check this file if you need to review a session after closing the terminal.