Synopsis
feral CLI is the primary interface for managing the FERAL brain, dashboard, and development tools.
Global connection options apply to all subcommands:
| Option | Default | Description |
|---|---|---|
--host | localhost | Brain hostname to connect to |
--port | 9090 | Brain port to connect to |
Commands
feral (no subcommand)
Launch the interactive REPL. Connects to the brain via WebSocket and presents a chat prompt.
/status, /devices, /skills, /identity, /quit.
feral "message"
One-shot mode. Sends a single message to the brain, prints the response, and exits.
feral start
Start the brain, wait for health, optionally open the dashboard in a browser, then drop into the interactive REPL. If this is the first run, the setup wizard launches automatically.
| Option | Default | Description |
|---|---|---|
--serve-port <n> | 9090 | Brain server port |
--no-browser | — | Skip opening the dashboard in the browser |
feral serve
Start only the brain API server (headless, no REPL, no browser).
| Option | Default | Description |
|---|---|---|
--bind <addr> | 127.0.0.1 | Bind address |
--serve-port <n> | 9090 | Server port |
feral setup
Run the interactive setup wizard.
feral status
Show the current state of the running brain (sessions, devices, skills, LLM, audio, sync, memory).
feral devices
List all connected hardware devices.
feral skills
List all loaded skills.
feral identity
Show the agent’s name, personality, rules, and communication style.
feral pair
Manage per-node device pairing tokens for session authentication.
| Option | Description |
|---|---|
--name <name> | Friendly name for the new device (default: “unnamed”) |
--list | List all paired devices |
--revoke <device_id> | Revoke a device by its ID |
--prune <seconds> | Revoke unclaimed tokens older than N seconds (0 = all) |
feral access
Manage pairing access mode and remote tunnel state.
| Action | Description |
|---|---|
status | Show pairing mode + Tailscale status |
remote-up | Enable Tailscale Funnel and switch to remote pairing |
remote-down | Disable Funnel and switch back to localhost mode |
feral wake-test
Test wake word detection from your microphone for 10 seconds.
openwakeword and pyaudio. Reports detection count and mode (ML or energy-based fallback).
feral marketplace
Skill marketplace commands.
| Action | Description |
|---|---|
search [query] | Search for skills (default action) |
install <skill_id> | Install a skill by ID |
list | List installed marketplace skills |
feral sync
Federated memory sync commands.
| Action | Description |
|---|---|
status | Show sync engine state, node ID, peer count, vector clock (default) |
peers | List discovered peers |
export [file] | Export memory bundle to a JSON file (default: feral_memory_export.json) |
import <file> | Import a memory bundle from a JSON file |
feral doctor
Run comprehensive diagnostics and report what’s working, what’s missing, and suggested fixes.
Exit Codes
| Code | Meaning |
|---|---|
0 | Success |
1 | General error / connection failure |
130 | Interrupted by Ctrl+C |
