Chat interface

The chat interface is your main way to interact with Bob. You can open it by selecting the Bob icon beside the navigation bar. Bob understands natural language, allowing you to communicate with it as you would with a human developer, with no special commands required.

Components of the chat interface

Chat history

Displays your conversation with Bob, including your requests, Bob's responses, and actions taken such as file edits or command executions.

Input field

Where you type your tasks and questions for Bob using natural language or use slash commands for quick actions.

Action buttons

Appear above the input field, allowing you to approve or reject Bob's proposed actions. Available buttons change depending on context.

Auto-approve toolbar

Located above the input field, allows you to enable auto-approval for specific actions like read, write, execute, and more to speed up your workflow.

Slash commands

Type '/' in the input field to access built-in commands (like /review, /init) and custom commands for common workflows.

Enhance prompt button

Located in the bottom right of the input field, automatically improves your prompt by adding clarity, structure, and context before sending.

Send button

Located to the right of the input field, sends your message to Bob.

New chat button

Located in the header, starts a new conversation session.

Settings button

Located in the header, opens settings to customize Bob's features and behavior.

Mode selector

A dropdown menu to the left of the chat input field for selecting which mode Bob should use for your tasks.

Writing effective requests

Clear and specific requests yield the best results:

StrategyImplementation
Be specific"Fix the bug in calculateTotal that returns incorrect results when given negative numbers" instead of "Fix the code"
Provide contextUse @ context mentions to reference files and code sections
Break down tasksSubmit complex tasks as smaller, manageable steps
Include examplesProvide sample code when you need specific formatting or style

Example requests

Create a new file
Create a new file named `utils.py` and add a function called `add` that takes two numbers as arguments and returns their sum
Modify existing code
In the file @src/components/Button.tsx, change the color of the button to blue
Find and replace
Find all instances of the variable `oldValue` in @/src/App.js and replace them with `newValue`
Explain code
Explain the function `calculateTotal` in @/src/utils.ts
Fix problems
@problems address all detected problems

Common pitfalls to avoid

AvoidUse
Vague instructions such as “Make it better”Clear, specific guidance such as “Improve error handling by adding try/catch blocks.”
Relying on Bob to infer contextExplicit file and function references using @ mentions
Combining multiple unrelated tasks in a single requestOne focused request at a time
Skipping validation of resultsReviewing Bob’s output to ensure it meets your requirements

Tips for complex requests

For more complex tasks:

  1. Start with a clear overview of what you want to accomplish
  2. Provide relevant background information
  3. Break down the task into logical steps
  4. Use @ mentions to reference specific files or code sections
  5. Review Bob's responses and provide feedback to refine results

Using the enhance prompt feature

The enhance prompt button () refines your request before sending by adding clarity, structure, and relevant context. This is particularly useful when:

  • Your initial prompt is vague or needs more structure
  • You want to ensure Bob understands your intent
  • You need help breaking down a complex request

Example transformation:

Original prompt:

make a function to calculate tax

Enhanced prompt:

Create a JavaScript function that calculates sales tax. The function should:
1. Take two parameters: price (number) and taxRate (decimal)
2. Return the calculated tax amount
3. Include proper error handling for invalid inputs
4. Include comments explaining the calculation logic

Provide the complete function implementation with an example of how to use it.

Bob's tip: Always review the enhanced prompt before sending to ensure it matches your intent.

Interacting with messages

  • Clickable references: File paths, URLs, and other references in the chat history are clickable. Clicking a file path opens the file in the editor, while clicking a URL opens it in your default browser.

  • Copying text: Select text in the chat history and use the standard copy command (Ctrl + C / + C). Code blocks include a dedicated "Copy" button for convenience.

  • Expanding and collapsing: Click on a message to expand or collapse it, helping you manage longer conversations.

Status indicators

IndicatorDescription
Loading spinnerAppears when Bob is processing your request.
Error messagesDisplayed in red when an error occurs.
Success messagesDisplayed in green when actions complete successfully.

Keyboard shortcuts

You can use keyboard shortcuts to interact with the chat interface more efficiently:

  • Enter: Send your message (when input field is focused)
  • Shift + Enter: Add a new line in your message

For more keyboard shortcuts and configuration options, see Keyboard shortcuts.

How is this topic?