Skip to main content

Reference

Keyboard & Command Reference

Every keyboard shortcut, slash command, and rebindable action in Bodega One - verified against the source as of beta.26. Open the in-app cheat sheet at any time with Ctrl+/.

Global shortcuts

These work from any screen, including when focus is inside an input.

Keys Action
Ctrl+1 Switch to Chat mode
Ctrl+2 Switch to Code mode
Ctrl+, Toggle Settings panel
Ctrl+Shift+P Command Palette
Ctrl+/ Keyboard Shortcuts overlay
Ctrl+B Toggle primary sidebar (chat session list in Chat mode; file tree in Code mode)
Esc Dismiss the topmost open overlay - Command Palette → Quick File Open → Go to Line → Shortcuts overlay → Context Inspector → secondary panel

Ctrl+B does different things depending on mode. In Chat mode it toggles the session list; in Code mode it toggles the file tree. These are the same physical shortcut bound to different actions.

Code mode: AI panel shortcuts

Open specific AI panels in Code mode. All five shortcuts open the Bodega Panel if it's closed, then activate the right tab. They have no effect in Chat mode.

Keys Panel
Ctrl+L Agent panel (full coding agent, all 24 tools)
Ctrl+Shift+R Research panel (read-only; web search + codebase analysis)
Ctrl+Shift+E Debug panel (read-only; stack trace, blame, call path analysis)
Ctrl+Shift+A Advisor panel (read-only; architecture advice)
Ctrl+Shift+I Context tab inside the Bodega Panel
Ctrl+Shift+B Toggle the entire Bodega Panel (right-hand AI column) open/closed
Ctrl+Shift+D Toggle Changes panel (Code mode) / Toggle Context Inspector (Chat mode)

Ctrl+Shift+E opens the Debug panel - not the file explorer. The file explorer has no dedicated shortcut; use Ctrl+B to toggle it.

Code mode: editor shortcuts

Files and tabs

Keys Action
Ctrl+S Save current file
Ctrl+W Close active editor tab (prompts on unsaved changes)
Ctrl+Tab Next editor tab
Ctrl+Shift+Tab Previous editor tab
Ctrl+\ Toggle split editor (single ↔ split-right)

Search and navigation

Keys Action
Ctrl+P Quick File Open (fuzzy file finder)
Ctrl+G Go to Line
Ctrl+F Find in current file
Ctrl+Alt+F Find and Replace
Ctrl+Shift+F Toggle Fleet panel / open search across project files
Ctrl+D Select next occurrence
Alt+← Navigate back in file history
Alt+→ Navigate forward in file history

AI editing

Keys Action
Ctrl+K Toggle Inline Command Bar (AI prompt to edit selected code)
Ctrl+Shift+K Fix Selected Code (inline fix on current selection)

Git and source control

Keys Action
Ctrl+Shift+G Toggle Git panel
Alt+B Toggle git blame annotations

Formatting and diagnostics

Keys Action
Shift+Alt+F Format Document
F8 Go to Next Error
Shift+F8 Go to Previous Error

Ctrl+P only works in Code mode. Ctrl+F and Ctrl+Alt+F are Monaco native overlays - not intercepted by the app shell. Ctrl+H (Find and Replace) is the default Monaco binding on Windows but collides with "Hide Application" on macOS; use Ctrl+Alt+F instead for consistency across platforms.

Fleet: background session shortcuts

Fleet shortcuts only fire in Code mode unless noted.

Keys Action
Ctrl+Shift+F Toggle Fleet panel
Ctrl+Shift+N New background session (Code mode) / New chat session (Chat mode)
Ctrl+Alt+N New background session (Code mode) / New chat session (Chat mode)
Ctrl+Alt+1Ctrl+Alt+9 Switch to fleet session N
Ctrl+Shift+W Close active fleet session (with confirmation)

Ctrl+W closes an editor tab. Ctrl+Shift+W closes the active fleet session - the extra Shift is intentional to prevent accidental session termination.

FIM autocomplete (ghost text)

Fill-in-the-Middle completions appear as inline ghost text in the Monaco editor while you type.

Keys Action
Tab Accept the full suggestion
Ctrl+Right Accept one word at a time
Esc Dismiss without accepting

Completions trigger automatically after a short debounce. The FIM model is auto-detected from installed models; assign a specific model at Settings → Models → My Models → FIM.

Models with native FIM tokens: qwen2.5-coder, codellama, deepseek-coder, codestral, starcoder, starcoder2, codegemma, stable-code. qwen3-coder uses prompt-injection fallback.

Tab and Ctrl+Right only accept ghost text when a suggestion is visible. When no suggestion is shown, Tab inserts a literal tab.

Terminal shortcuts

Panel control (work from any focus point)

Keys Action
`Ctrl+`` Toggle terminal panel open/closed
`Ctrl+Shift+`` Maximize / restore terminal panel
Ctrl+Shift+T Open a new terminal tab (opens the terminal if closed)

When the terminal has focus

Keys Action
Ctrl+F Open terminal output search bar
Ctrl+I Toggle AI Assist overlay (command generator)
Ctrl+↑ Jump to previous command block (OSC 133 semantic marker)
Ctrl+↓ Jump to next command block

Inside the AI Assist overlay (Ctrl+I)

Keys Action
Enter Run the generated command
Tab Enter edit mode to modify the command before running
Esc Close overlay without running
/ Browse last 10 generated commands

Ctrl+F in the terminal opens terminal output search - distinct from Ctrl+Shift+F (project file search). Ctrl+I and block-navigation only fire when the terminal has focus. The AI Assist generator scopes commands to the current working directory.

Slash commands - built-in

Type / in any chat or AI panel input. A autocomplete menu appears with all available commands.

Command What it does
/export Export the current conversation as a Markdown file (Chat mode only; opens a native save dialog)
/clear Clears the input field
/help List the available slash commands (shown in a toast).
/mode ask|plan|act Set the Agent panel's permission mode. Only affects the Agent panel - Research, Debug, and Advisor are always read-only.
/compact Summarize older conversation history to free context space. Works in both Chat and Code mode. Shows a toast with the count of messages summarized.
/preview [url] Open the Preview tab. No argument opens the port picker (3000 / 5173 / 8080 / 4200). /preview localhost:5173 jumps straight to that URL.
/map Open the Bodega Map (file-dependency graph for the open project). Respects the ui.code_map_enabled setting.

/reset and /model are not registered commands. Typing them shows a toast listing the actual available commands (the same list /help prints).

/export shows an info toast instead of exporting when used in Code mode.

Slash commands - skill triggers

Ten built-in skills ship as SKILL.md files. Their triggers pass through to the backend LLM as structured workflow invocations - they're not handled client-side.

Trigger What it does
/commit Stage changes and create a conventional git commit (requires shell tool; runs git status → diff → add → commit)
/debug Trace an error, find root cause, suggest fix
/docs Write or update documentation for selected code
/explain Explain what selected code does
/generate Generate code from a description
/perf Profile and identify performance bottlenecks
/refactor Clean up and restructure code
/review Code review with Critical / Warnings / Suggestions breakdown (one file at a time, most recently changed)
/security Scan for security issues
/test Generate tests for selected code

Skill triggers load from the backend on startup. Disabling a skill in Settings → Extensions → Skills removes its trigger from the autocomplete list. You can define custom skills there too; user-created skills live in ~/.bodega/skills/<name>/SKILL.md.

/review (the skill) is distinct from the Git panel "Review" button. The skill reads a recent project file; the button reviews the current git diff using your LLM.

Command Palette

  1. Press Ctrl+Shift+P to open.
  2. Type any part of the action name - fuzzy matching works. For example, ter max matches "Toggle Terminal Maximize".
  3. Press Enter or click an action to execute. Esc closes without acting.

Actions grouped by category:

  • Navigation: Switch to Chat Mode (Ctrl+1), Switch to Code Mode (Ctrl+2), Toggle Settings Panel (Ctrl+,), Show Usage Panel, Show Agents Panel
  • Terminal: Toggle Terminal (Ctrl+\``), Toggle Terminal Maximize (Ctrl+Shift+`), New Terminal Tab (Ctrl+Shift+T`)
  • View: Toggle Sidebar (Ctrl+B), Reload Window (Ctrl+R), Show Keyboard Shortcuts (Ctrl+/)
  • Panels: Debug Panel (Ctrl+Shift+E)
  • Editor: Toggle File Explorer (Ctrl+Shift+B), Close Active Editor Tab (Ctrl+W), Go to Line (Ctrl+G), Toggle Split Editor (Ctrl+\\)
  • Search: Search in Files (Ctrl+Shift+F), Go to File... (Ctrl+P)
  • Source Control: Open Source Control (Ctrl+Shift+G)

The Command Palette lists "Focus File Explorer" as Ctrl+Shift+B (toggle Bodega Panel). Ctrl+Shift+E is Debug Panel, not File Explorer - an older label that was corrected in a post-beta.23 audit.

Rebinding shortcuts

18 shortcuts can be rebound and saved persistently.

  1. Go to Settings → Workspace → Keybindings. (This section only appears when Show advanced settings is enabled in the Settings sidebar.)
  2. Filter the list by action name or current key combination.
  3. Click any shortcut badge. It pulses with "Press keys..."
  4. Press the combination you want. If it conflicts with another bound action, a toast names the conflict and cancels capture.
  5. Press Esc to cancel without changing.
  6. To restore a default: hover the entry and click Reset.

Custom bindings are saved to the editor.keybindings setting as JSON. Changes require an app restart to take full effect.

Rebindable shortcuts by category:

Category Shortcuts
Navigation Switch to Chat, Switch to Code, Toggle Settings, Toggle Sidebar, Command Palette, Quick Open File, Keyboard Shortcuts
Editor Save File, Close Tab, Go to Line, Format Document, Next Error, Previous Error, Search in Files, Toggle Changes
Terminal Toggle Terminal, Maximize Terminal, New Terminal Tab
Git Toggle Git Panel

Shortcuts handled at the OS level (Ctrl+C, Ctrl+V) cannot be remapped.

Git panel: AI code review (beta.26)

The Git panel has a Review button that sends the current diff to your LLM and returns a structured review grouped under Critical / High / Suggestions headings.

  1. Open the Git panel with Ctrl+Shift+G or click the branch name in the status bar.
  2. Click Review (in the panel header actions row, next to Generate and Stage All).
  3. Review output appears inline above the file list. Dismiss it with the X button.

The review uses the model assigned to the explain role (the same model used for code explanations in the editor). Large diffs are capped at 14,000 characters; a truncation note appears in the output if the diff is cut.

When the working tree is dirty, the review covers staged + unstaged changes (the pre-commit case). When the working tree is clean, it falls back to the branch-vs-base diff (the PR scope).

Requires an open project folder. Returns an error if the folder isn't a git repository or has no changes.

Claude Fast Mode (beta.26)

Fast Mode disables extended thinking on Anthropic Claude models globally. It does not change the model - it removes the extended thinking overhead so responses come back faster.

Enable: the Fast toggle in the message composer (next to the reasoning control; shown only for Claude models).

The per-message reasoning control in the composer pill still wins. If you set reasoning to Low / Medium / High for a specific message, that overrides Fast Mode for that message only.

Fast Mode has no effect on non-Claude models. The setting key is llm.claude_fast_mode (boolean, default false).

Custom agents (beta.26)

You can define named agents with a custom system prompt, pinned model, tool allowlist, read-only filesystem flag, and iteration cap.

Create an agent:

  1. Go to Settings → AI → Custom Agents. (Requires Show advanced settings.)
  2. Click New Agent.
  3. Fill in: name, optional description, system prompt, model override (blank = active model), tool allowlist, read-only filesystem toggle, max iterations.

Activate an agent:

  • In Code mode, the Agent panel header shows a profile picker (robot icon with the current agent name).
  • Click it to see a dropdown with Default and your custom agents.
  • Select one - it applies to the next message and persists until you switch back to Default.
  • The picker is hidden when you have no custom agents.

The tool allowlist narrows available tools - it cannot grant access to tools not available to the default agent. Custom agents are distinct from the built-in skills (/commit, /debug, etc.), which are managed via Settings → Extensions → Skills.

ACP server: Bodega as an agent (beta.26)

Bodega One can run as an ACP (Agent Client Protocol) server so external editors - like Zed - can drive it as an AI agent over stdio.

Start the server:

bodega --acp

Bodega starts in headless JSON-RPC mode on stdio. No Electron window appears.

Protocol methods: initialize (advertises capabilities + tool list), session/new (creates a session, confines the working directory), session/prompt (runs one agentic turn), session/cancel.

Connecting external ACP agents to Fleet (Claude Code, Gemini CLI, Codex, Cursor): Settings → Extensions → ACP Agents. Each agent needs its binary installed and an API key (or login auth for Cursor). The section shows install hints and key fields for each supported agent.

CWD confinement is enforced - session/new validates that the requested working directory is within your allowed projects directory. Claude Code requires an interactive /login before use outside of Bodega; authenticate once before running Fleet.

Managed embedding server + GGUF picker (beta.26)

Bodega can manage the llama-server --embedding process automatically (port 8081), and the Embeddings settings show a dropdown of your installed GGUFs so you don't have to type a path.

Set up managed embeddings:

  1. Go to Settings → Models and scroll to the Codebase Embeddings section (or search "embeddings").
  2. Select llama.cpp as the provider.
  3. Enable Let Bodega manage the embedding server.
  4. Pick a GGUF from the dropdown - it lists everything installed via Models → llama.cpp → Discover. Or type a manual path in the text field below.
  5. Set the port (default 8081).

Bodega starts the server lazily on the first index build. If the model path is empty with managed mode on, Bodega points at any server you're already running.

Recommended embedding models: nomic-embed-text, BGE series.

The llama.cpp binary must be installed (Settings → Models → llama.cpp) for managed mode to work. The embedding server (port 8081) and the chat llama-server (port 8080) are separate processes.

Bodega Map

Bodega Map is an interactive dependency graph of your codebase. Nodes are files; edges are imports. It runs in Code mode only.

Open the Map:

  • Activity Bar (left sidebar) → Map icon
  • Command Palette → "Open Codebase Map"
  • Type /map in any AI panel input

Requires the Dockview layout engine (Settings → Layout → Dockview). In Legacy layout, the Map falls back to an editor tab.

Interactions:

  • Click a node to open the detail drawer (imports, exports, relationships).
  • Explain this module in the drawer - your LLM writes a plain-English summary, cached by file content hash.
  • Toolbar model picker - choose which model writes explanations (blank = active model).
  • Generate Map button - bulk-explains all visible files (4 concurrently, with live progress and a cancel button).
  • Ask the Map bar at the bottom - free-form questions answered via RAG over your codebase embeddings.

Staleness: amber dots on nodes mean the cached explanation is out of date (file content changed since last generation). The drawer badge shows the stale count.

"Ask the Map" uses two models: a chat model for the answer and an embeddings model for retrieval. Configure the embeddings model at Settings → Models → Codebase Embeddings. The first question triggers the index build, which may take a few seconds.

What the in-app cheat sheet covers

Press Ctrl+/ to open the Keyboard Shortcuts overlay. It shows four groups: General, Terminal, Editor (Code Mode), and Fleet - Background Sessions.

The overlay does not list AI panel shortcuts (Ctrl+L, Ctrl+Shift+R/E/A/I), slash commands, or rebindable shortcuts - those are covered here and in Settings → Workspace → Keybindings.

Keyboard shortcuts

KeysAction
Ctrl+1Switch to Chat mode
Ctrl+2Switch to Code mode
Ctrl+,Toggle Settings panel
Ctrl+Shift+PCommand Palette
Ctrl+/Keyboard Shortcuts overlay
Ctrl+BToggle primary sidebar (chat list in Chat; file tree in Code)
Ctrl+Shift+BToggle Bodega Panel (right-hand AI column, Code mode)
EscDismiss topmost overlay or panel
Ctrl+LOpen Agent panel (Code mode)
Ctrl+Shift+ROpen Research panel (Code mode)
Ctrl+Shift+EOpen Debug panel (Code mode)
Ctrl+Shift+AOpen Advisor panel (Code mode)
Ctrl+Shift+ISwitch to Context tab in Bodega Panel (Code mode)
Ctrl+Shift+DToggle Changes panel (Code) / Context Inspector (Chat)
Ctrl+SSave current file
Ctrl+WClose active editor tab
Ctrl+TabNext editor tab
Ctrl+Shift+TabPrevious editor tab
Ctrl+\Toggle split editor
Ctrl+PQuick File Open (Code mode)
Ctrl+GGo to Line (Code mode)
Ctrl+FFind in current file / terminal output search (when terminal focused)
Ctrl+Alt+FFind and Replace
Ctrl+Shift+FToggle Fleet panel
Ctrl+DSelect next occurrence
Alt+←Navigate back in file history
Alt+→Navigate forward in file history
Ctrl+KToggle Inline Command Bar
Ctrl+Shift+KFix Selected Code
Ctrl+Shift+GToggle Git panel
Alt+BToggle git blame annotations
Shift+Alt+FFormat Document
F8Go to Next Error
Shift+F8Go to Previous Error
Ctrl+`Toggle terminal panel
Ctrl+Shift+`Maximize / restore terminal panel
Ctrl+Shift+TNew terminal tab
Ctrl+IToggle terminal AI Assist overlay (terminal focus required)
Ctrl+↑Jump to previous command block (terminal focus required)
Ctrl+↓Jump to next command block (terminal focus required)
TabAccept full FIM ghost text suggestion
Ctrl+RightAccept FIM suggestion one word at a time
Ctrl+Shift+NNew background session (Code) / New chat session (Chat)
Ctrl+Alt+NNew background session (Code) / New chat session (Chat)
Ctrl+Alt+1..9Switch to fleet session N
Ctrl+Shift+WClose active fleet session

This page mirrors the in-app docs hub for app version 1.0.0-beta.26.1. Found something unclear or out of date? Tell us on Discord. New here? Download the free beta and follow along.