Skip to content
Cisco AI Defense logo
CiscoAI Security

Keybindings — DefenseClaw

Overview

Keybinding dispatch in the TUI is layered: an exclusive overlay (form, detail modal, policy YAML viewer) always wins, then a filter mode, then the global router in app.go, then panel-local handlers. Understanding the layer model is the fastest way to reason about which key is swallowed where.

Rendering diagram…

Global keys (always active)

KeyActionNotes
Ctrl+CQuit the TUIOnly hard quit; panels can't swallow this
?Open the help overlay
: / Ctrl+KOpen the command paletteFocuses the palette input
/Start in-panel filterSupported in Alerts, Skills, MCPs, Audit
Tab / Shift+TabCycle panelsIn Policy, Tab is panel-local for tab-navigation within the YAML viewer
19Jump to panelOverridden per-panel when panelOwnsDigitShortcut(key) returns true
0Jump to Setup
TJump to ToolsUppercase; mnemonic for the panel
qPanel-local actionNot a global quit — see note below

Filter mode

Activated by / in a supported panel. While the filter input is focused:

KeyAction
escAbort filter, restore view
enterApply filter, keep it visible
backspaceDelete last character
printableAppend to filter string

Compound syntax: field=value field2>=value2. Supported fields per panel:

PanelFields
Alertsaction, type, severity, free-text
Skillstrust, verdict, free-text
MCPsstate, transport, free-text
Auditevent_type, verdict, severity, correlation_id, rule_id

Exclusive / overlay mode

When any of these are active the panel fully owns keyboard input:

PanelExclusive condition
PolicyYAML / Rego viewer is open (m.policy.IsOverlayActive())
SkillsDetail modal open
MCPsDetail modal OR mcpSetForm active
PluginsDetail modal open
ToolsDetail modal open
AlertsDetail modal open
AuditDetail modal open
InventoryDetail modal open
SetupWizard / form / editor active

In exclusive mode the global router is bypassed — you can type q or 1 freely.

Panel-specific keys

See Panels for every per-panel key.

The short cheatsheet:

PanelKeyAction
Alerts15Severity filter (owned locally)
AlertsfCycle action filter
AlertsenterOpen detail
SkillsaAction menu
SkillssScan now
SkillsqQuarantine (local)
MCPsaAction menu
MCPsb / uBlock / unblock
Pluginsi / d / eInstall / disable / enable
Inventory14Scope filter (skills/mcps/plugins/tools)
PolicyenterOpen viewer overlay
PolicyeEdit in $EDITOR
PolicyrReload policies
PolicytRun policy tests
PolicynNew policy form
Logsg / GTop / bottom
LogsfToggle follow
Audit/Compound filter
AuditeExport filtered view
Activity1 / 2Recent / all-time
SetupenterRun wizard step
SetupescBack

Command palette keys

When the palette is open:

KeyAction
printableAppend to fuzzy search
/ Move match selection
tabCycle categories
enterExecute selected command
escClose palette
backspaceDelete last character

Related