Starting an interactive session
Interactive sessions provide a conversational interface to Bob directly in your terminal, allowing real-time assistance with your development tasks.

Starting an interactive session
Use the bob chat subcommand to start an interactive session in your terminal.
Syntax
bob chat [options]Options
| Option | Description |
|---|---|
--instance-id <id> | Attach to a specific named instance instead of starting a new one |
--resume <task-id> | Resume a previous task by task ID |
--resume latest | Resume the most recent task |
--mode <mode> | Starting mode (for example, agent, plan, ask) |
--log-level <level> | Log verbosity: error, warn, info, debug, or trace |
--auto-approve | Suppress tool-approval prompts for the session. Has no effect in untrusted folders. |
--trust | Persist the current folder as trusted, skipping the first-access trust dialog. Equivalent to manually selecting "Trust folder." See Trusted folders. |
Start a session
Open a new terminal window.
When you start Bob Shell for the first time, you must log in with your IBMid and accept the license agreement.
Navigate to the main directory of your project.
Run the following command to start an interactive session:
bob chatBasic usage
Interact with Bob Shell
- Type your instructions or questions directly in the terminal.
- Press Enter to send your message to Bob.
- Bob Shell responds with its analysis and suggestions.
- For tool usage (such as reading or writing files), you are prompted to approve or decline each action.
Reference files and resources
Use the @ symbol to reference files in your project:
Explain the functionality in @src/main.jsThis tells Bob Shell to read and analyze the specified file before responding.
- Files are inlined up to 100 KB per file.
- Total inlined content across all
@mentions is capped at 500 KB. - Directories show up to 50 entries.
You can also reference Model Context Protocol (MCP) resources exposed by connected servers using the format server:resource-name:
@my-server:schema.jsonReference skills
Type $ followed by a skill name to open the skill picker and insert a skill reference into your prompt.
Message queue
When Bob is actively streaming a response you can queue additional messages rather than wait. Press Tab to queue the current input. Queued messages are sent automatically in order as soon as each turn completes.
| Key | Action |
|---|---|
Tab | Queue the current input (or submit immediately when idle) |
↑ | Move focus into the queue list |
Enter | Edit the selected queued item |
Tab (in queue) | Send the selected item immediately |
Delete / Backspace | Remove the selected item from the queue |
Shift+K / Shift+J | Reorder the selected item up / down |
Status footer
The footer below the input field shows live session information:
| Field | Description |
|---|---|
| Mode | Active mode name (for example, Agent Mode) — a red (auto-approve) suffix appears when auto-approve is enabled |
| Context | Tokens used versus context window size, with a percentage |
| Cost | Accumulated cost for the current task in Bobcoins (🅞) |
Use slash commands
Type / to access a menu of available commands:
- Built-in commands such as
/helpfor assistance - Mode-switching commands such as
/mode ask - Custom commands you have created
For a complete list of available commands, see Slash commands in Bob Shell.
View file changes
When Bob Shell needs to modify files, it shows you the proposed changes in the terminal with a CLI diff view.
Session management
Resume a previous session
You can resume a previous session when starting bob chat:
bob chat --resume <task-id>
bob chat --resume latestTo find the task ID of a previous session, use --list-tasks with bob run:
bob run --list-tasksAttach to a named instance
Use --instance-id to attach to a specific named instance rather than starting a new one:
bob chat --instance-id my-projectAdvanced features
Tool approvals
When Bob Shell requests to use a tool, an approval dialog appears. The dialog provides the following options:
| Option | Description |
|---|---|
| Approve Once | Allow this specific tool call to proceed. You will be prompted again for future calls. |
Approve <group> tools for task | Allow all tools in the same tool group for the remainder of the task. Not shown for MCP tools. |
| Always Allow Command for task | Allow a specific shell command for the remainder of the task. |
| Reject | Deny the tool call. Bob Shell does not proceed with the action. |
You can also add an optional note when approving or rejecting a call. The note is forwarded to the model as additional context.
Press Escape to interrupt Bob while a response is streaming.
Multi-turn conversations
Bob Shell maintains context throughout your conversation, allowing you to:
- Ask follow-up questions.
- Refine previous requests.
- Build on earlier responses.
Tips for effective use
- Be specific in your requests to get more targeted responses.
- Use
@references to provide code context when needed. - For complex tasks, break them down into smaller steps.
- Use slash commands to quickly access common functionality.
- When working with large codebases, direct Bob Shell to the most relevant files.
When to use an interactive session
Interactive sessions work best for:
- Exploratory coding sessions.
- Debugging and troubleshooting.
- Learning new concepts or technologies.
- Tasks that require multiple back-and-forth exchanges.
- Projects where you need to review changes before they are applied.
Uninstalling
Remove Bob Shell from your system using the appropriate method for your installation.
Starting a non-interactive session
Non-interactive sessions provide a method to use Bob Shell directly from the command line without entering an interactive session. Use for automation, scripting, and batch processing tasks.