Complete reference for commands, keyboard shortcuts, configuration, and Cooklang syntax.
Commands Reference
CookBot supports slash commands for quick actions. Type / followed by the command name.
Commands support autocomplete - type / to see all available options.
General Commands
Command
Description
Example
/help
Show help message with commands and shortcuts
/help
/init
Set up COOK.md preferences through guided interview
CookBot has two input modes: Normal mode and Compose mode.
Toggle between them with F4.
Shortcut
Normal Mode
Compose Mode
Enter
Send message
Add new line
Alt+Enter
Add new line
Send message
F4
Toggle to Compose mode
Toggle to Normal mode
Ctrl+J
Add new line
Send message
Tip: Normal mode is great for quick single-line messages.
Switch to Compose mode when writing longer, multi-paragraph prompts or pasting recipes.
Navigation
Shortcut
Action
Esc
Exit input mode (enter scroll mode)
Enter or i
Enter input mode (from scroll mode)
PgUp / PgDn
Scroll chat by 10 lines
Cmd+Up / Cmd+Down (macOS)
Scroll chat by 10 lines
Ctrl+Up / Ctrl+Down
Scroll chat by 1 line
Ctrl+Home / Cmd+Home
Scroll to top
Ctrl+End / Cmd+End
Scroll to bottom
Global Shortcuts
Shortcut
Action
Ctrl+C
Quit CookBot
Ctrl+S
Save conversation to file
q
Quit (when in scroll mode)
Autocomplete
Shortcut
Action
@
Trigger file autocomplete
/
Trigger command autocomplete
Up / Down
Navigate autocomplete suggestions
Tab
Insert selected suggestion
Enter
Insert and execute (for commands)
Esc
Cancel autocomplete
Input History
Shortcut
Action
Up
Previous input from history
Down
Next input from history
Note: Some shortcuts may conflict with your terminal emulator's default bindings.
Check your terminal settings if a shortcut doesn't work as expected.
Configuration
Recipes Directory
Specify your recipes directory when launching CookBot:
# Explicit path
cookbot ~/Documents/Recipes
# Current directory (default)
cookbot
# With tilde expansion
cookbot ~/my-recipes
Custom Instructions (COOK.md)
Create a COOK.md file in your recipes directory to provide custom instructions to the AI.
This file helps CookBot understand your preferences and conventions.
Example COOK.md:
# My Recipe Collection
## Dietary Preferences
- No peanuts (family allergy)
- Prefer whole grains
- Lean proteins preferred
## Recipe Standards
- All recipes should include servings and time metadata
- Use metric measurements
- Include source URLs when available
## Directory Structure
- weeknight/ - Quick meals under 30 minutes
- meal-prep/ - Batch cooking recipes
- desserts/ - Sweets and treats
- plans/ - Weekly meal plans
## Meal Planning Rules
- Include at least 1 vegetarian meal per week
- Don't repeat proteins on consecutive days
- Consider leftover potential (prefer 4+ servings)
## Do Not
- Never suggest recipes with peanuts
- Don't create duplicate recipes without checking first
Environment Variables
Variable
Description
Default
CODE_FILE_PATH
Custom path to COOK.md
./COOK.md in recipes dir
SERVER_URL
gRPC server URL
127.0.0.1:50052
CLAUDE_MODEL
Display model name
claude-sonnet-4-5
WEB_BASE_URL
Auth server URL
https://cook.md
COOKBOT_NO_UPDATE_CHECK
Disable auto-update checks
(not set)
Settings Storage
CookBot stores settings in ~/.cookbot/:
settings.json - Persisted preferences
auth.json - Authentication tokens (auto-managed)
.shopping_list.txt - Shopping cart (in recipes directory)
Privacy Note: Your recipes stay on your local machine. Only your queries and
explicitly requested content are sent to the AI service for processing.
Cooklang Quick Reference
Ingredients
@salt -- Simple ingredient
@salt{1%tsp} -- With quantity and unit
@chicken breast{500%g} -- Multi-word ingredient
@butter{=50%g} -- Fixed (doesn't scale)
@onion{1}(diced) -- With preparation note
Cookware
#pot -- Simple cookware
#baking sheet{} -- Multi-word cookware
#cast iron skillet{large} -- With description
Timers
~{25%minutes} -- Unnamed timer
~pasta{10%min} -- Named timer