Getting Started & Help
Installation, setup, troubleshooting, and frequently asked questions.
Getting Started
Prerequisites
Before installing CookBot, ensure you have:
- A Cook.md account with an active AI subscription
- A terminal that supports modern ANSI escape sequences
- A recipes directory (or create one to start fresh)
Installation
macOS (Homebrew)
brew install cook-md/tap/cookbot
First Run
-
Start CookBot with your recipes directory:
Or run from within your recipes directory:cookbot ~/my-recipescd ~/my-recipes cookbot - Authenticate: On first launch, CookBot will prompt you to login via your browser.
- Start chatting: Once authenticated, type a message and press Enter to start interacting with the AI assistant.
Quick Start Example
After launching CookBot, try these starter prompts:
Example prompts:
Convert units from imperial to metric for @Asian/Tamarind Braised Beef Short Ribs.cookCreate a meal plan for next 3 daysImport a recipe from https://example.com/chicken-tikka-masala
Troubleshooting
Connection Issues
Problem: "Failed to connect to gRPC server"
This means the CookBot backend server is not accessible.
Solutions:
- Check your internet connection
- Verify the server URL is correct
- Try again in a few moments (temporary outage)
- Check if a firewall is blocking the connection
Problem: "Session expired"
Your authentication token has expired.
Solution: Run /login to re-authenticate.
Authentication Issues
Problem: Login page doesn't open
Solutions:
- Manually visit the URL shown in the terminal
- Check your default browser settings
- Try a different browser
Problem: "Subscription required"
You need an active AI subscription to use CookBot.
Solution: Press Enter to open the subscription page, or visit cook.md to subscribe.
Display Issues
Problem: Garbled or broken characters
Your terminal may not support the required features.
Solutions:
- Use a modern terminal (iTerm2, Alacritty, Windows Terminal)
- Ensure your terminal uses a Unicode-compatible font
- Check that your
TERMenvironment variable is set correctly
Problem: Colors not displaying correctly
Solutions:
- Ensure your terminal supports 256 colors or TrueColor
- Check the terminal's color scheme settings
File Operation Issues
Problem: "Path not found" errors
Solutions:
- Verify the recipes directory exists
- Check file permissions
- Use relative paths from the recipes directory
- Avoid using
..in paths (not allowed for security)
Problem: Recipe not parsing correctly
Solutions:
- Check Cooklang syntax (ingredients use
@, cookware uses#, timers use~) - Ensure metadata block has proper
---delimiters - Look for unclosed brackets or quotes
Debug Tip: You can view detailed logs in ~/.cookbot/logs/ to diagnose issues.
Include relevant log snippets when reporting bugs.
Performance Issues
Problem: Slow responses
Solutions:
- Check your internet connection speed
- Complex queries may take longer to process
- Use
/compactto reduce context size in long conversations
Problem: High token usage
Solutions:
- Use
/clearto start a fresh conversation - Use
/compactto summarize and reduce context - Be more specific in your queries to reduce back-and-forth
Still Having Issues?
If you can't resolve your issue with the steps above:
- Use the
/feedbackcommand in CookBot to report the problem - Open an issue on GitHub
When reporting, please include:
- CookBot version (
/version) - Operating system
- Steps to reproduce the issue
- Relevant logs from
~/.cookbot/logs/
FAQ
General Questions
Q: Is CookBot free?
A: CookBot requires a Cook.md account with an AI subscription ($12/month) to use the AI features.
Q: Are my recipes sent to the cloud?
A: No. Your recipe files stay on your local machine. Only your queries and the content you explicitly ask about are sent to the AI service for processing. The conversation is processed on secure servers and not stored permanently.
Q: What file formats does CookBot support?
A: CookBot works primarily with Cooklang files (.cook) and menu files (.menu).
It can also read and write other text files like .txt and .md within your
recipes directory.
Q: Can I use CookBot offline?
A: No, CookBot requires an internet connection to communicate with the AI backend and authentication services.
Cooklang Questions
Q: What is Cooklang?
A: Cooklang is a markup language for writing recipes in plain text. It uses simple syntax like
@ingredient{amount%unit} for ingredients, #cookware{} for tools, and
~{time%unit} for timers. Learn more at
cooklang.org.
Q: How do I reference another recipe?
A: Use the path syntax: @./path/to/recipe{servings}. For example,
@./sauces/bechamel{2} references the bechamel recipe scaled to 2 servings.
Q: What metadata should I include?
A: Common metadata includes:
servings- Number of portionstime- Total cooking timetags- Comma-separated categoriessource- Where the recipe came from
Feature Questions
Q: Can CookBot generate images?
A: No, CookBot is a text-based interface focused on recipe management and does not generate images.
Q: Can I export my conversation?
A: Yes! Use /save or /save filename.md to save your conversation as a Markdown file.
Q: How does the shopping cart work?
A: The cart aggregates ingredients from recipes you add. Use /cart add recipe.cook to add
recipes, and /cart to see the combined list. It merges quantities for the same ingredient
across recipes.
Q: Can CookBot scale recipes automatically?
A: Yes! Use the :scale suffix when viewing or adding recipes. For example,
/recipe pasta.cook:2 shows the recipe doubled, and /cart add soup.cook:0.5
adds half portions to your cart.
Technical Questions
Q: Where are my settings stored?
A: Settings are stored in ~/.cookbot/settings.json. Authentication is stored in
~/.cookbot/auth.json.
Q: How do I update CookBot?
A: CookBot checks for updates automatically on launch. You can also run cookbot --update
to check manually. For Homebrew installations, use brew upgrade cookbot.
Q: Can I self-host the backend?
A: The backend requires access to AI services and is currently only available as a hosted service through Cook.md.
Q: How do I report bugs or give feedback?
A: You can report issues and suggest features in two ways:
- Use the
/feedbackcommand directly in CookBot - Open an issue on GitHub
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
Metadata (YAML frontmatter)
---
title: Spaghetti Carbonara
servings: 4
time: 30 minutes
tags: [pasta, quick, italian]
---
Menu Files
[Monday]
Soups/tomato-soup.cook:2
Breads/focaccia.cook
[Tuesday]
Pasta/carbonara.cook
Salads/caesar.cook
CookBot Documentation - Last Updated: December 2024
Have questions? Contact us or join the community on Discord.