CLI Reference

July 27, 2026 · View on GitHub

Commands

CommandDescription
decepticonStart all services, open the terminal UI, and print the web dashboard URL
decepticon onboardInteractive setup wizard (provider, API key, model profile, LangSmith)
decepticon onboard --resetReconfigure even if .env already exists
decepticon stopStop all services
decepticon statusShow service status
decepticon logs [service]Follow service logs (default: langgraph)
decepticon kg-healthDiagnose the Neo4j knowledge graph
decepticon updateExplicitly refresh config files, Docker images, and the launcher binary when a release is available
decepticon removeUninstall Decepticon completely
decepticon --versionShow installed version

Web dashboard is dynamic-spawn — it does not come up with the default stack. Start it from inside the CLI with the /web slash command (which runs docker compose --profile web up -d web), then open http://localhost:3000 (configurable via WEB_PORT in .env). See Web Dashboard.

decepticon logs — Service names

decepticon logs             # langgraph (default)
decepticon logs litellm     # LiteLLM proxy
decepticon logs postgres    # PostgreSQL
decepticon logs neo4j       # Neo4j graph database
decepticon logs sandbox     # Kali Linux sandbox
decepticon logs web         # Web dashboard

Interactive Terminal UI

The interactive CLI is built with React 19 + Ink. It streams events from LangGraph in real time.

Keyboard Shortcuts

KeyAction
Ctrl+OToggle Prompt ↔ Transcript mode
Ctrl+GCycle graph sidebar: Overview → Nodes → Flows
Ctrl+BToggle graph sidebar visibility
Ctrl+CCancel active stream / exit transcript / exit app
EscExit transcript mode

View Modes

Prompt Mode (default)

  • Compact view suitable for monitoring
  • Sub-agent sessions collapsed
  • Consecutive tool calls from the same agent are grouped
  • Shows current objective and streaming agent output

Transcript Mode (Ctrl+O)

  • Full event history
  • Complete tool inputs and outputs
  • All sub-agent details expanded
  • Useful for debugging and reviewing what the agent actually did

Graph Sidebar

The right-side panel visualizes the live Neo4j attack graph:

ViewContent
OverviewHigh-level graph summary (node/edge counts, top hosts)
NodesIndividual node list with type and properties
FlowsAttack chain paths discovered so far

Cycle with Ctrl+G, hide/show with Ctrl+B. A Web Canvas auto-starts for pan/zoom interaction.

Slash Commands

Available inside the interactive terminal UI:

CommandAliasesDescription
/help/?Show available commands and shortcuts
/clearClear conversation history
/file <path>/fLoad a prompt from a file and send it
/resume [message]/r, /continueResume a paused run or continue previous session
/modelShow or change the LLM model for this session
/agentShow or switch the active orchestrator for this session
/plugins/pluginList or toggle agent plugin bundles
/web [up|down|url]/dashboardStart, stop, or print the URL of the web dashboard
/quit/exitExit the CLI

Environment Variables

These can be set in your .env file (configure with decepticon onboard) or as shell environment variables.

Required (at least one LLM key)

VariableDescription
ANTHROPIC_API_KEYAnthropic Claude API key
OPENAI_API_KEYOpenAI API key (fallback)
GEMINI_API_KEYGoogle Gemini API key (fallback)
MINIMAX_API_KEYMiniMax API key (fallback)

Model Configuration

VariableDefaultDescription
DECEPTICON_MODEL_PROFILEecoTier preset: eco (per-agent), max (all HIGH), or test (all LOW)
DECEPTICON_AUTH_PRIORITY(built-in order; see Models)Comma-separated AuthMethod priority — first method primary, rest are fallbacks. When unset, the factory's built-in _DEFAULT_AUTH_PRIORITY order applies. Methods whose credential isn't configured are skipped at runtime.
DECEPTICON_AUTH_CLAUDE_CODEfalseSet true to route Anthropic models via Claude Code OAuth (auth/claude-* in LiteLLM)
DECEPTICON_AUTH_CHATGPTfalseSet true to route OpenAI models via ChatGPT subscription OAuth (auth/gpt-*)
DECEPTICON_AUTH_GEMINIfalseSet true to route Google models via Gemini Advanced OAuth (gemini-sub/*)
DECEPTICON_AUTH_COPILOTfalseSet true for Microsoft Copilot Pro OAuth (copilot/*)
DECEPTICON_AUTH_GROKfalseSet true for xAI SuperGrok OAuth (grok-sub/*)
DECEPTICON_AUTH_PERPLEXITYfalseSet true for Perplexity Pro OAuth (pplx-sub/*)
OLLAMA_API_BASE / OLLAMA_MODELunsetWhen set, registers ollama_chat/<OLLAMA_MODEL> and enables the ollama_local AuthMethod

See Models for the full Tier × AuthMethod matrix and chain examples.

Infrastructure

VariableDefaultDescription
LITELLM_MASTER_KEYsk-decepticon-masterLiteLLM proxy auth key
LITELLM_SALT_KEYsk-decepticon-salt-change-meLiteLLM salt (change in production)
POSTGRES_PASSWORDdecepticonPostgreSQL password
NEO4J_PASSWORDdecepticon-graphNeo4j password

Ports (optional)

VariableDefaultDescription
LANGGRAPH_PORT2024LangGraph API server port
LITELLM_PORT4000LiteLLM proxy port
POSTGRES_PORT5432PostgreSQL port
WEB_PORT3000Web dashboard port
TERMINAL_PORT3003Terminal WebSocket bridge for the embedded CLI

Neo4j ports (7474 browser, 7687 bolt) are fixed in docker-compose.yml.

C2 Framework

VariableDefaultDescription
COMPOSE_PROFILES(empty)Explicit profile override. Leave empty for normal use — heavyweight workloads are spawned on demand by the orchestrator via ops_start(...) (ADR-0006).

Set explicitly only when you want a workload up at launch — e.g. COMPOSE_PROFILES=cli,c2-sliver,ad,reversing for CI regression runs against the whole matrix.

Currently allowlisted workloads (the agent can call ops_start("X") for any of these): ad, c2-sliver, c2-havoc, reversing, cloud, mobile, phishing, forensics, ics, iot, supply-chain, wireless. Future C2 frameworks (Havoc, Mythic) plug in as additional c2-* profile services.

Observability (optional)

VariableDescription
LANGSMITH_TRACINGSet to true to enable LangSmith tracing
LANGSMITH_API_KEYLangSmith API key
LANGSMITH_PROJECTLangSmith project name (default: decepticon)

Debug

VariableDescription
DECEPTICON_DEBUGSet to true for verbose debug output