CLI Commands
All flags, subcommands, and arguments are sourced directly from
crates/edgecrab-cli/src/cli_args.rs. Run edgecrab --help or
edgecrab <subcommand> --help for live output at any time.
Hermes-parity note: EdgeCrab now exposes Hermes-style entrypoints such as
chat, model, auth, login, logout, webhook, insights, dump,
logs, pairing, memory, honcho, claw, and uninstall directly on
the CLI, while still preserving EdgeCrab-native families like plugins,
mcp, and profiles. For slash-first flows, edgecrab slash <command...>
is the generic DRY bridge into the same TUI command registry used by /help.
Installing the CLI
Section titled “Installing the CLI”EdgeCrab can be installed via npm, pip (PyPI), or cargo — pick whatever fits your environment. No Rust toolchain is needed for the npm or pip methods.
# Global install — adds `edgecrab` to your PATHnpm install -g edgecrab-cli
# Use without a global installnpx edgecrab-cli setupnpx edgecrab-cli "summarise the git log for today"pip / PyPI
Section titled “pip / PyPI”pip install edgecrab-cli
# Isolated install with pipx (recommended)pipx install edgecrab-clicargo (compile from source)
Section titled “cargo (compile from source)”cargo install edgecrab-cliVerify Installation
Section titled “Verify Installation”edgecrab version# EdgeCrab v<current-version># Rust 1.86.0## Supported providers (from model catalog):# anthropic — Anthropic (ANTHROPIC_API_KEY)# bedrock — AWS Bedrock (AWS_ACCESS_KEY_ID)# copilot — GitHub Copilot (GITHUB_TOKEN)# deepseek — DeepSeek (Provider configured via model catalog/runtime integration)# google — Google (Provider configured via model catalog/runtime integration)# groq — Groq (Provider configured via model catalog/runtime integration)# huggingface — Hugging Face (HUGGINGFACE_API_KEY)# lmstudio — LM Studio (local) (local, no key)# mistral — Mistral AI (MISTRAL_API_KEY)# ollama — Ollama (local) (local, no key)# openai — OpenAI (OPENAI_API_KEY)# openrouter — OpenRouter (OPENROUTER_API_KEY)# vertexai — Vertex AI (GOOGLE_CLOUD_PROJECT + ADC)# xai — xAI (XAI_API_KEY)# zai — Z.AI Platform (Provider configured via model catalog/runtime integration)Command Map
Section titled “Command Map”edgecrab [GLOBAL FLAGS] [PROMPT] -- interactive TUI (default) | +-- chat [PROMPT...] -- Hermes-compatible chat entrypoint +-- model -- open the interactive model picker +-- new -- interactive wrapper for /new +-- clear -- interactive wrapper for /clear +-- retry -- interactive wrapper for /retry +-- undo -- interactive wrapper for /undo +-- btw [QUESTION...] -- interactive wrapper for /btw +-- provider -- interactive wrapper for /provider +-- prompt [ARGS...] -- interactive wrapper for /prompt +-- personality [ARGS...] -- interactive wrapper for /personality +-- reasoning [ARGS...] -- interactive wrapper for /reasoning +-- yolo [ARGS...] -- interactive wrapper for /yolo +-- verbose [ARGS...] -- interactive wrapper for /verbose +-- statusbar [ARGS...] -- interactive wrapper for /statusbar +-- voice [ARGS...] -- interactive wrapper for /voice +-- browser [ARGS...] -- interactive wrapper for /browser +-- reload-mcp -- interactive wrapper for /reload-mcp +-- slash <COMMAND...> -- run any slash command through the TUI registry +-- insights [--days N] -- historical usage analytics +-- setup [section] [--force] -- first-run wizard +-- doctor -- environment diagnostics +-- migrate [--dry-run] -- import from hermes-agent +-- claw migrate [FLAGS...] -- import from OpenClaw +-- acp [init] -- ACP stdio server / VS Code onboarding +-- version -- build info + provider list +-- update [--check] -- channel-aware update workflow +-- auth <sub> -- Copilot + MCP auth control plane +-- login <target> -- interactive login/import shortcut +-- logout [target] -- clear cached local auth state +-- status -- runtime status summary +-- dump [--all] -- shareable support snapshot +-- logs <sub> -- inspect log files +-- pairing <sub> -- gateway pairing approvals +-- memory <sub> -- inspect MEMORY.md / USER.md +-- honcho <sub> -- Honcho-compatible user model +-- whatsapp -- pair WhatsApp bridge | +-- profile <sub> -- named profile management +-- sessions <sub> -- session history +-- config <sub> -- config.yaml management +-- tools <sub> -- tool/toolset inspection +-- mcp <sub> -- MCP server management +-- plugins <sub> -- plugin management +-- skills <sub> -- skill management +-- cron <sub> -- scheduled prompts +-- gateway <sub> -- messaging gateway daemon +-- webhook <sub> -- dynamic webhook subscriptions +-- completion <shell> -- shell tab-completion script +-- uninstall -- remove EdgeCrab-managed local artifactsGlobal Flags
Section titled “Global Flags”These flags are accepted by edgecrab and by most subcommands (global = true
in clap):
| Flag | Short | Description |
|---|---|---|
--model <provider/model> | -m | Override default model, e.g. openai/gpt-4o |
--toolset <list> | Comma-separated toolset names or aliases | |
--profile <name> | -p | Run under a named profile (does not change sticky default) |
--session <id> | -s | Resume a specific session by ID |
--continue [title] | -C | Resume the most-recent CLI session (optionally by title) |
--resume <id-or-title> | -r | Resume a session by ID or title with fuzzy resolution |
--quiet | -q | Suppress TUI; print only final response (pipe-friendly) |
--config <path> | -c | Use alternate config file instead of ~/.edgecrab/config.yaml |
--debug | Enable debug logging (RUST_LOG=debug) | |
--no-banner | Skip the startup ASCII art banner | |
--yolo | Start the session with dangerous-command approvals bypassed |
Agent-only flags (only apply when running in interactive / one-shot mode):
| Flag | Short | Description |
|---|---|---|
--worktree | -w | Create an isolated git worktree for this session |
--skill <name> | -S | Preload a skill (repeatable; comma-separated ok) |
Running the Agent
Section titled “Running the Agent”edgecrab # Interactive TUIedgecrab chat # Same runtime, Hermes-style entrypointedgecrab "summarise the git log" # One-shot with initial messageedgecrab -q "explain this codebase" # Quiet/pipe modeedgecrab -C # Continue the last sessionedgecrab -C "my project" # Continue session by titleedgecrab -r abc123 "add more tests" # Resume session abc123edgecrab -w "refactor auth module" # New isolated worktreeedgecrab -S security-audit "audit payment" # Preload a skilledgecrab --model openai/gpt-5 # Override modeledgecrab --toolset coding "write tests" # Use 'coding' toolset onlyedgecrab --yolo "fix the build fast" # Disable dangerous-command approval promptsedgecrab model launches the normal TUI and opens the /model selector immediately.
It is intentionally not a separate model-management codepath.
edgecrab slash ... uses the same command parsing and handlers as the in-session
slash surface. Examples:
edgecrab slash insights 7edgecrab slash btw "summarize this branch before I merge it"edgecrab slash profileHigh-frequency Hermes flows also have thin top-level wrappers that forward into the same slash handlers:
edgecrab newedgecrab btw "quick side question"edgecrab prompt clearedgecrab reasoning highedgecrab reload-mcpedgecrab setup
Section titled “edgecrab setup”Interactive first-run wizard. Re-run to reconfigure.
edgecrab setup # Full interactive wizardedgecrab setup model # Model and provider section onlyedgecrab setup tools # Toolsets configuration onlyedgecrab setup gateway # Messaging platforms onlyedgecrab setup agent # Agent personality and memory onlyedgecrab setup --force # Overwrite existing config from scratchThe wizard detects API keys from the environment, lets you choose a
provider, and writes ~/.edgecrab/config.yaml. On a fresh install it also
detects OpenClaw homes and offers to import them before proceeding.
edgecrab doctor
Section titled “edgecrab doctor”Full diagnostic health check — no flags required.
edgecrab update
Section titled “edgecrab update”Check the latest release and apply the update through the install channel that owns the current EdgeCrab binary.
edgecrab update # check and apply when supportededgecrab update --check # report onlyChannel behavior:
- npm:
npm install -g edgecrab-cli@<latest> - pipx:
pipx upgrade edgecrab-cli - pip:
python -m pip install --upgrade edgecrab-cli==<latest> - cargo:
cargo install edgecrab-cli --locked --force --version <latest> - brew:
brew update && brew upgrade edgecrab - source/manual binary: print safe manual guidance
edgecrab doctorChecks:
- Config file existence and validity
EDGECRAB_HOMEdirectories (memories, skills, state db)- Provider API key presence for each configured provider
- Live provider ping (latency test)
- MCP server reachability
- Chrome/Chromium binary for browser tools
- Gateway platform token presence
- SQLite database integrity (WAL checkpoint)
- Available disk space
edgecrab migrate
Section titled “edgecrab migrate”One-way import from ~/.hermes/ (hermes-agent) into ~/.edgecrab/.
edgecrab migrate # Live migrationedgecrab migrate --dry-run # Preview without writing any filesedgecrab migrate --source /path/to/.hermesWhat is imported:
Source (~/.hermes/) Destination (~/.edgecrab/)------------------------------------------------------------config.yaml --> config.yamlmemories/ --> memories/skills/ --> skills/.env --> .envSafe to re-run — existing files are skipped or merged, never silently overwritten.
edgecrab version
Section titled “edgecrab version”Print build info and supported providers.
edgecrab version# EdgeCrab v<current-version># Rust 1.86.0# ...providers listed as above...
edgecrab --version# edgecrab <current-version>edgecrab status
Section titled “edgecrab status”High-level runtime status: active profile, model, gateway, and session count.
edgecrab statusedgecrab dump
Section titled “edgecrab dump”Print a support-friendly runtime snapshot: version, active profile, key paths, provider model, gateway state, and optional local inventory counts.
edgecrab dumpedgecrab dump --alledgecrab logs
Section titled “edgecrab logs”Inspect log files under ~/.edgecrab/logs/.
Inside the TUI, /log opens a split-pane browser for the same directory. It live-follows by default, F toggles follow mode, Enter opens the selected file in the inspector, and 1-5 persist the default log level.
edgecrab logs listedgecrab logs pathedgecrab logs path gatewayedgecrab logs show gateway --lines 200edgecrab logs tail gatewayedgecrab pairing
Section titled “edgecrab pairing”Manage gateway pairing approvals and the approved-user list.
edgecrab pairing listedgecrab pairing list --pendingedgecrab pairing approve <platform> <code>edgecrab pairing revoke <platform> <user-id>edgecrab pairing clear-pending --platform telegramedgecrab memory
Section titled “edgecrab memory”Inspect or edit persistent memory files stored under ~/.edgecrab/memories/.
edgecrab memory showedgecrab memory show useredgecrab memory edit memoryedgecrab memory pathedgecrab honcho
Section titled “edgecrab honcho”Hermes-compatible Honcho control plane for EdgeCrab’s local user-model store. EdgeCrab keeps the local JSON store as the source of truth and can optionally enable cloud-sync style behavior through config.
edgecrab honcho statusedgecrab honcho setupedgecrab honcho setup --cloud-syncedgecrab honcho modeedgecrab honcho mode localedgecrab honcho tokens --context 12 --write-frequency 4edgecrab honcho listedgecrab honcho search rustedgecrab honcho add preference "prefers terse code review findings"edgecrab honcho remove <id-prefix>edgecrab honcho identity ./SOUL.mdedgecrab honcho pathedgecrab claw
Section titled “edgecrab claw”Hermes-compatible OpenClaw migration entrypoint. This imports the EdgeCrab-native
subset of an OpenClaw home directory and archives the unsupported remainder for
manual review under ~/.edgecrab/migration/openclaw/.
edgecrab claw migrateedgecrab claw migrate --dry-runedgecrab claw migrate --preset user-dataedgecrab claw migrate --migrate-secretsedgecrab claw migrate --overwriteedgecrab claw migrate --source /path/to/.openclawedgecrab claw migrate --workspace-target /absolute/workspaceedgecrab claw migrate --skill-conflict renameKey flags:
| Flag | Description |
|---|---|
--source <path> | Override the detected OpenClaw directory (~/.openclaw, ~/.clawdbot, ~/.moldbot) |
--dry-run | Preview only |
--preset {user-data,full} | user-data excludes secrets; full includes allowlisted secrets |
--overwrite | Replace conflicting target files instead of skipping |
--migrate-secrets | Import allowlisted secrets even when not using --preset full |
--workspace-target <abs-path> | Copy OpenClaw AGENTS.md into a workspace |
--skill-conflict {skip,overwrite,rename} | Control how skill name conflicts are handled |
Imported directly:
SOUL.mdMEMORY.md/USER.md- workspace and shared skills into
~/.edgecrab/skills/openclaw-imports/ command_allowlist.json- messaging
.envkeys such as Telegram / Discord / Slack / Signal allowlists - allowlisted provider secrets
model.default,tts.*,mcp_servers,terminal.timeout,timezone,reasoning_effort
Archived for manual review:
- gateway/session/browser/approval/skills-registry/ui/logging config that does not map 1:1 to EdgeCrab
- supplemental workspace docs such as
IDENTITY.md,TOOLS.md,HEARTBEAT.md,BOOTSTRAP.md
edgecrab insights
Section titled “edgecrab insights”Read historical analytics from the session database.
edgecrab insightsedgecrab insights --days 7edgecrab whatsapp
Section titled “edgecrab whatsapp”Pair and configure the WhatsApp bridge interactively.
edgecrab whatsappedgecrab acp
Section titled “edgecrab acp”Run the ACP stdio server for editor integration, or generate workspace-local VS Code onboarding files.
edgecrab acpedgecrab acp initedgecrab acp init --workspace /path/to/repoedgecrab acp init --forceedgecrab acp init creates .edgecrab/acp_registry/agent.json and
.vscode/settings.json in the target workspace. This removes the manual
registryDir setup that Hermes still requires.
edgecrab completion
Section titled “edgecrab completion”Generate shell tab-completion scripts. Output the script and source it in your shell’s init file.
edgecrab completion bash >> ~/.bashrcedgecrab completion zsh >> ~/.zshrcedgecrab profile
Section titled “edgecrab profile”Manage named profiles. Each profile gets its own isolated home
directory under ~/.edgecrab/profiles/<name>/ with its own config,
SOUL, memory, skills, plugins, hooks, MCP tokens, and SQLite session
store. EdgeCrab seeds bundled starter profiles (work, research,
homelab) automatically on normal startup and profile commands.
edgecrab profile list # List all profilesedgecrab profile create <name> # Create a new profileedgecrab profile create <name> --clone # Clone current profile (config, .env, SOUL.md)edgecrab profile create <name> --clone-all # Clone everything including memories/sessionsedgecrab profile create <name> --clone-from other # Clone from a specific profileedgecrab profile use <name> # Switch sticky default profileedgecrab profile show [name] # Show a named profile, or print the active profile + home if omittededgecrab profile alias <name> # Generate a shell wrapper aliasedgecrab profile alias <name> --name myalias # Alias with a custom nameedgecrab profile alias <name> --remove # Remove the shell aliasedgecrab profile rename <old> <new> # Rename a profileedgecrab profile export <name> # Export profile as tar.gz archiveedgecrab profile export <name> -o ./backup.tar.gz # Export to a specific pathedgecrab profile import ./backup.tar.gz # Import a profile archiveedgecrab profile delete <name> # Delete a profile (requires confirm or -y)Running edgecrab -p <name> "prompt" overrides the sticky profile
for a single invocation without changing the default.
edgecrab sessions
Section titled “edgecrab sessions”Manage conversation history stored in the SQLite state database.
edgecrab sessions list # List recent sessions (newest first)edgecrab sessions browse # Browse sessions interactivelyedgecrab sessions browse --query <term> # Full-text search via FTS5edgecrab sessions delete <id> # Delete a sessionedgecrab sessions rename <id> <new-title> # Rename a sessionedgecrab sessions export <id> [--format jsonl] # Export: markdown (default) or jsonledgecrab sessions prune --older-than 30 # Delete sessions older than N daysedgecrab sessions stats # Show session statistics (counts, DB size)edgecrab config
Section titled “edgecrab config”Inspect and modify ~/.edgecrab/config.yaml without opening a text
editor.
edgecrab config show # Print active config as YAMLedgecrab config edit # Open in $EDITORedgecrab config set <key> <value> # Set a config key (dotted path)edgecrab config path # Print path to config.yamledgecrab config env-path # Print path to .envKey path examples: model.default_model, tools.enabled_toolsets,
memory.auto_flush, display.show_cost.
edgecrab tools
Section titled “edgecrab tools”Inspect registered tools and toolset composition. Useful for debugging toolset configuration.
edgecrab tools list # List all registered tools and toolsetsedgecrab tools enable <toolset> # Enable a toolset in config.yamledgecrab tools disable <toolset> # Disable a toolset in config.yamledgecrab mcp
Section titled “edgecrab mcp”Manage external MCP (Model Context Protocol) servers. Includes a curated preset catalogue for one-command server setup.
edgecrab mcp list # List configured MCP serversedgecrab mcp search # Browse the curated MCP preset catalogueedgecrab mcp search github # Search presets matching "github"edgecrab mcp view <preset> # Show details for a curated presetedgecrab mcp install <preset> # Install a preset into config.yamledgecrab mcp install filesystem --path /tmp # Install with path overrideedgecrab mcp test # Probe all configured servers (connectivity + tool count)edgecrab mcp test <name> # Probe a specific serveredgecrab mcp doctor # Static checks + live probe for all configured serversedgecrab mcp doctor <name> # Diagnose one configured serveredgecrab mcp add <name> <cmd> [args...] # Add a custom MCP server by commandedgecrab mcp remove <name> # Remove a configured MCP serverHTTP MCP servers can authenticate with bearer tokens from:
bearer_tokeninconfig.yaml/mcp-token set <server> <token>- env-expanded config values such as
bearer_token: "${MY_API_TOKEN}"
edgecrab auth
Section titled “edgecrab auth”Manage the authentication state EdgeCrab actually owns today:
- GitHub Copilot token import and local cache
- env-backed provider API keys stored in
~/.edgecrab/.env - structured provider state stored in
~/.edgecrab/auth.json - MCP bearer-token and OAuth token cache state
This is not Hermes’ general multi-provider credential-pool subsystem. EdgeCrab does not yet ship pooled provider rotation, per-provider cooldown reset, or provider-wide OAuth/API-key inventory management.
edgecrab auth list # List Copilot, provider, and MCP auth targetsedgecrab auth status # Same as list, concise overviewedgecrab auth status copilot # Detailed Copilot cache stateedgecrab auth status provider/openai # Show provider token state in ~/.edgecrab/.env and ~/.edgecrab/auth.jsonedgecrab auth status mcp/github # Detailed MCP auth path for one serveredgecrab auth add copilot --token <gh-token> # Save a GitHub token for Copilotedgecrab auth add provider/openai --token <tok> # Save one provider token to ~/.edgecrab/.env and record provider metadata in ~/.edgecrab/auth.jsonedgecrab auth add mcp/github --token <tok> # Save a bearer token for one MCP serveredgecrab auth login copilot # Import VS Code Copilot token and warm cacheedgecrab auth login mcp/github # Run interactive OAuth login for one MCP serveredgecrab auth remove provider/openai # Remove one provider token from ~/.edgecrab/.env and clear its auth.json entryedgecrab auth remove copilot # Clear EdgeCrab's local Copilot token cacheedgecrab auth remove mcp/github # Remove one cached MCP tokenedgecrab auth reset # Clear all EdgeCrab-managed local auth cachesTarget syntax:
copilotprovider/<name>for env-backed providers such asopenai,anthropic,gemini,openrouter,xai,deepseek,mistral,groq,cohere,perplexity,huggingface, andzaimcp/<server><server>for a configured MCP server name
edgecrab login and edgecrab logout
Section titled “edgecrab login and edgecrab logout”Hermes-style shortcuts over edgecrab auth.
edgecrab login copilot # Equivalent to: edgecrab auth login copilotedgecrab login provider/openai # Provider targets are env-backed and instruct you to use auth addedgecrab login mcp/github # Equivalent to: edgecrab auth login mcp/githubedgecrab logout # Clear all local Copilot + provider + MCP auth cachesedgecrab logout copilot # Clear only Copilot cacheedgecrab logout provider/openai # Clear one provider token from ~/.edgecrab/.env and its auth.json entryedgecrab logout mcp/github # Clear one cached MCP tokenedgecrab webhook
Section titled “edgecrab webhook”Manage dynamic gateway webhook subscriptions stored in
~/.edgecrab/webhook_subscriptions.json.
edgecrab webhook listedgecrab webhook subscribe github --events push,pull_request --prompt "Summarise the repo event"edgecrab webhook subscribe github --skill code-review --deliver github_comment --deliver-extra repo=org/repo --deliver-extra pr_number=42edgecrab webhook subscribe alerts --deliver telegram --deliver-extra chat_id=12345 --deliver-extra thread_id=17edgecrab webhook subscribe github --secret _INSECURE_NO_AUTH --rate-limit 60 --max-body-bytes 2097152edgecrab webhook remove githubedgecrab webhook test githubedgecrab webhook pathBehavior:
- The gateway exposes
POST /webhooks/<name>for saved subscriptions. - Requests are authenticated with
X-Hub-Signature-256: sha256=..., a raw 64-char hex HMAC, orX-Webhook-Secret. --secret _INSECURE_NO_AUTHdisables secret checking for a route. This is compatibility-focused and should only be used on trusted internal networks.- Event filters use
X-Event-Type,X-GitHub-Event, orpayload.event_type. - Duplicate deliveries are rejected when a stable delivery ID is present.
- Per-route rate limits and maximum body sizes are enforced at ingress.
- Prompt templates support dot-path placeholders and
{__raw__}for the full JSON payload. --skillpreloads named skills into the webhook session before the turn runs.--deliversupports Hermes-style final-response routing such aslog,origin,telegram,discord,slack,signal, andgithub_comment.--deliver-extra key=valueis template-rendered against the JSON payload before delivery, so values likerepo={repository.full_name}andpr_number={pull_request.number}work the same way Hermes operators expect.- Matching requests are converted into agent messages and queued into the running gateway, with delivery metadata attached for the final response path.
edgecrab plugins
Section titled “edgecrab plugins”Manage installed plugins.
edgecrab plugins list # List discovered pluginsedgecrab plugins info <name> # Show one plugin in detailedgecrab plugins status # Show plugin runtime stateedgecrab plugins install <source> # Install from GitHub, hub:, https://zip, or a local directoryedgecrab plugins enable <name> # Enable without reinstallingedgecrab plugins disable <name> # Disable without uninstallingedgecrab plugins toggle [<name>] # Flip enabled/disabled state or print TUI guidanceedgecrab plugins audit --lines 20 # Show recent install/remove audit entriesedgecrab plugins search <query> # Search remote plugin registriesedgecrab plugins search --source hermes <query> # Search Hermes-oriented registries onlyedgecrab plugins browse # List plugin search sources and examplesedgecrab plugins refresh # Clear cached plugin hub indicesedgecrab plugins update [name] # Update one plugin or all git-backed pluginsedgecrab plugins remove <name> # Remove an installed pluginSupported kinds:
skillplugins injectSKILL.mdinto the system prompttool-serverplugins expose subprocess tools over JSON-RPCscriptplugins expose Rhai-powered local tools
edgecrab skills
Section titled “edgecrab skills”Manage agent skills stored in ~/.edgecrab/skills/.
edgecrab skills list # List all installed skillsedgecrab skills view <name> # Print a skill's SKILL.mdedgecrab skills search <query> # Search local + remote skill sourcesedgecrab skills install <path> # Install from a local pathedgecrab skills install edgecrab:<category/path> # Install from a curated remote sourceedgecrab skills install owner/repo/path # Install from GitHubedgecrab skills update [name] # Refresh one or all remote-installed skillsedgecrab skills install official/<cat>/<skill> # Install from the official catalogueedgecrab skills remove <name> # Remove an installed skilledgecrab cron
Section titled “edgecrab cron”Manage scheduled prompts.
edgecrab cron list # List scheduled jobsedgecrab cron status # Show scheduler statusedgecrab cron create "0 9 * * *" "daily brief" # Create a cron job (cron expr + prompt)edgecrab cron create --name daily "0 9 * * *" "brief" --skill reporteredgecrab cron edit <id> --schedule "0 8 * * *" # Edit a scheduled jobedgecrab cron run <id> # Run a job immediatelyedgecrab cron pause <id> # Pause a jobedgecrab cron resume <id> # Resume a paused jobedgecrab cron remove <id> # Delete a scheduled jobedgecrab cron tick # Fire all due jobs once and exitedgecrab gateway
Section titled “edgecrab gateway”Manage the messaging gateway daemon that connects EdgeCrab to external messaging platforms.
edgecrab gateway start # Start gateway daemon (background)edgecrab gateway start --foreground # Start gateway in foreground (logs to stdout)edgecrab gateway stop # Stop gateway daemonedgecrab gateway restart # Stop then startedgecrab gateway status # Show daemon + per-platform statusedgecrab gateway configure # Interactive platform setup wizardedgecrab gateway configure telegram # Configure a specific platformPlatforms are enabled and configured via environment variables or config.yaml gateway section —
not via gateway start flags. See User Guide → Messaging for per-platform
setup.
edgecrab uninstall
Section titled “edgecrab uninstall”Remove EdgeCrab-managed local artifacts safely.
edgecrab uninstall --dry-runedgecrab uninstall --purge-data --yesedgecrab uninstall --purge-data --purge-auth-cache --remove-binary --yesSafe defaults:
- stops the local background gateway if it is running
- removes profile wrapper scripts created in
~/.local/bin/ - only removes
~/.edgecrab/when--purge-datais passed - only removes the local Copilot cache when
--purge-auth-cacheis passed - only removes the current
edgecrabbinary when--remove-binaryis passed
Unlike Hermes, EdgeCrab does not blindly delete a source checkout or guess at
shell PATH edits during uninstall.
Exit Codes
Section titled “Exit Codes”| Code | Meaning |
|---|---|
0 | Success |
1 | General error (configuration, provider error) |
2 | Usage error (bad arguments) |
130 | Interrupted by Ctrl-C |
Pro Tips
Section titled “Pro Tips”edgecrab -q "prompt" | your-tool: The--quietflag suppresses the TUI and prints only the final response. Combine with pipes for scripting and CI.edgecrab --debug 2>&1 | grep edgecrab_core: Filter debug logs to the agent loop only, cutting out the noise from other crates.edgecrab sessions browse --query "my query": FTS5 full-text search across all conversation history — faster than scrolling session lists.edgecrab config set key valueavoids opening the YAML editor for single-value changes.edgecrab completion zsh >> ~/.zshrcadds tab-completion for all subcommands and flags.- Worktrees for risky refactors:
edgecrab -w "refactor auth module"creates a repo-local.worktrees/...checkout so changes don’t land on the current branch until you’re ready. Setworktree: trueorEDGECRAB_WORKTREE=1to make that the default for future launches.
What’s the difference between --quiet and piping the output?
--quiet disables the TUI entirely and streams the final text response to stdout. Without it, the TUI overrides terminal control and can’t be piped reliably.
Can I resume a specific session from the command line?
Yes: edgecrab --session <id> opens a specific session. Use edgecrab sessions list to find session IDs, or edgecrab --continue to resume the most recent.
How do I run the agent in a cron job?
Use --quiet mode so there’s no TUI, and redirect stderr to a log file:
edgecrab -q "summarise new emails and append to daily-report.md" >> /var/log/edgecrab-cron.log 2>&1Does edgecrab doctor fix problems it finds?
No — it diagnoses and reports. To fix, follow the suggested remediation steps it prints.
What does --no-banner do?
Suppresses the ASCII art banner on startup. Useful in narrow terminals or environments where the banner garbles output.
See Also
Section titled “See Also”- Slash Commands — TUI commands (different from CLI subcommands)
- Configuration Reference —
config.yamlandedgecrab config set - Environment Variables — env vars that modify CLI behaviour