Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.feral.sh/llms.txt

Use this file to discover all available pages before exploring further.

Synopsis

feral <command> [options]
The feral CLI is the primary interface for managing the FERAL brain, dashboard, and development tools. Global connection options apply to all subcommands:
OptionDefaultDescription
--hostlocalhostBrain hostname to connect to
--port9090Brain port to connect to

Commands

feral (no subcommand)

Launch the interactive REPL. Connects to the brain via WebSocket and presents a chat prompt.
feral
REPL slash-commands: /status, /devices, /skills, /identity, /quit.

feral "message"

One-shot mode. Sends a single message to the brain, prints the response, and exits.
feral "search the web for FERAL AI reviews"

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.
feral start [options]
OptionDefaultDescription
--serve-port <n>9090Brain server port
--no-browserSkip opening the dashboard in the browser
feral start

feral serve

Start only the brain API server (headless, no REPL, no browser).
feral serve [options]
OptionDefaultDescription
--bind <addr>127.0.0.1Bind address
--serve-port <n>9090Server port
Useful for production deployments or when running the dashboard separately.
feral serve

feral setup

Run the interactive setup wizard.
feral setup
Walks through LLM provider selection, API key storage, USER.md creation, and autonomy mode configuration. Generates a session token on first run. Safe to re-run — only overwrites values you change.

feral status

Show the current state of the running brain (sessions, devices, skills, LLM, audio, sync, memory).
feral status

feral devices

List all connected hardware devices.
feral devices

feral skills

List all loaded skills.
feral skills

feral identity

Show the agent’s name, personality, rules, and communication style.
feral identity

feral pair

Manage per-node device pairing tokens for session authentication.
feral pair [options]
OptionDescription
--name <name>Friendly name for the new device (default: “unnamed”)
--listList all paired devices
--revoke <device_id>Revoke a device by its ID
--prune <seconds>Revoke unclaimed tokens older than N seconds (0 = all)
feral pair --name "MacBook Pro"

feral access

Manage pairing access mode and remote tunnel state.
feral access <action>
ActionDescription
statusShow pairing mode + Tailscale status
remote-upEnable Tailscale Funnel and switch to remote pairing
remote-downDisable Funnel and switch back to localhost mode
feral access status

feral wake-test

Test wake word detection from your microphone for 10 seconds.
feral wake-test
Requires openwakeword and pyaudio. Reports detection count and mode (ML or energy-based fallback).

feral marketplace

Skill marketplace commands.
feral marketplace <action> [query]
ActionDescription
search [query]Search for skills (default action)
install <skill_id>Install a skill by ID
listList installed marketplace skills
feral marketplace search "web scraping"

feral sync

Federated memory sync commands.
feral sync <action> [file]
ActionDescription
statusShow sync engine state, node ID, peer count, vector clock (default)
peersList 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 sync status

feral doctor

Run comprehensive diagnostics and report what’s working, what’s missing, and suggested fixes.
feral doctor
Checks: Python version, FERAL package, config directory, LLM credentials (keys + Ollama), identity files, memory database, port availability, Playwright/chromium, Node.js, local audio backends (faster-whisper, piper), and core dependencies.

Exit Codes

CodeMeaning
0Success
1General error / connection failure
130Interrupted by Ctrl+C