Starting an interactive session

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

Bob Shell interactive session

Starting an interactive session

Use the bob chat subcommand to start an interactive session in your terminal.

Syntax

bob chat [options]

Options

OptionDescription
--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 latestResume 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-approveSuppress tool-approval prompts for the session. Has no effect in untrusted folders.
--trustPersist 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.

Note

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 chat

Basic 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.js

This 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.json

Reference 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.

KeyAction
TabQueue the current input (or submit immediately when idle)
Move focus into the queue list
EnterEdit the selected queued item
Tab (in queue)Send the selected item immediately
Delete / BackspaceRemove the selected item from the queue
Shift+K / Shift+JReorder the selected item up / down

The footer below the input field shows live session information:

FieldDescription
ModeActive mode name (for example, Agent Mode) — a red (auto-approve) suffix appears when auto-approve is enabled
ContextTokens used versus context window size, with a percentage
CostAccumulated cost for the current task in Bobcoins (🅞)

Use slash commands

Type / to access a menu of available commands:

  • Built-in commands such as /help for 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 latest

To find the task ID of a previous session, use --list-tasks with bob run:

bob run --list-tasks

Attach 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-project

Advanced features

Tool approvals

When Bob Shell requests to use a tool, an approval dialog appears. The dialog provides the following options:

OptionDescription
Approve OnceAllow this specific tool call to proceed. You will be prompted again for future calls.
Approve <group> tools for taskAllow all tools in the same tool group for the remainder of the task. Not shown for MCP tools.
Always Allow Command for taskAllow a specific shell command for the remainder of the task.
RejectDeny 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.
How is this topic?