Blog
ai-agentibm-bobcoding-agentair-gappedai-governanceapplication-modernization

Inside IBM Bob (Part 1) — What Makes an Agentic Development Platform Different

An analysis of IBM Bob, the development agent platform IBM has begun offering for on-premises and air-gapped deployment, based on public documentation: architecture, modes, rules and approval policies, modernization packages, self-hosted model options, and limitations. It is the starting point for Part 2, which designs the same platform with open source.

Data DynamicsOctober 4, 202613 min read

On October 1, IBM announced self-hosted deployment of IBM Bob, its development agent platform. Bob can now run on-premises, in private and sovereign clouds, and even in air-gapped environments cut off from external networks. For financial, public-sector, and manufacturing organizations that cannot send source code to external AI services, this signals a shift in the question from "Can we use coding agents at all?" to "How do we bring them in?"

This series has two parts.

  • Part 1 (this post): What Bob is, how it is structured, what controls it offers, and where its limits are — based on public documentation.
  • Part 2: Mapping Bob's components to open-source equivalents to design a development agent platform that can run in an air-gapped environment.

This post is based on IBM's official announcements, product documentation (bob.ibm.com/docs), and press coverage as of October 4, 2026. It is not a hands-on evaluation, and features and supported scope may change.

1. What Bob is — an SDLC platform, not code completion

IBM calls Bob an "AI development partner." The core claim is that Bob is not a tool that suggests code but a system that orchestrates the entire software development lifecycle (SDLC) — planning, coding, testing, deployment, and modernization.

Its position becomes clear when you place it in the evolution of AI development tools.

Three stages of AI development tools — code completion (humans make every decision), coding agents (humans assign work and review), agentic development platforms (humans set policy and approve exceptions); IBM Bob targets the third stage

StageFormRepresentative capabilitiesHuman role
1Code completionNext-line suggestionsAll decisions
2Coding agentFile edits, command execution, testingAssigning and reviewing tasks
3Agentic development platformModes, rules, and approval policies; subagents; background tasks; organization-level governanceSetting policy and approving exceptions

Bob aims for stage 3. It is less a productivity tool for individual developers and more a platform on which an organization defines and supervises the scope of what AI is allowed to do.

Release history

IBM Bob release timeline — June 2025 internal use by 100 developers, October 2025 preview with 6,000+ users, April 2026 SaaS GA with 80,000+ users, July 2026 architecture redesign, September–October 2026 self-hosted and air-gapped options

DateMilestone
June 2025Internal use begins with 100 IBM developers
October 2025Project Bob preview released. 6,000+ internal users, Semgrep-based inline security checks
April 2026SaaS general availability. 80,000+ internal users; claims an average 45% productivity gain based on surveys
July 2026Architecture rebuilt on a common agent harness, modes consolidated to three, modernization premium packages and Bobalytics launched
September–October 2026Self-hosted deployment for Red Hat OpenShift generally available (September 24, per press reports); air-gapped and hybrid model options announced (October 1)

The productivity figures come from IBM's internal surveys and customer cases (e.g., a Java upgrade cut from 30 days to 3 days) and have not been independently verified.

2. Architecture — one harness, two surfaces

Since the July 2026 overhaul, Bob has been structured as user-facing surfaces sitting on top of a common agent harness. The harness is the agent's execution foundation, handling model calls, tool execution, and task management.

IBM Bob architecture: Bob IDE, BobShell and external editors (via ACP) connect to the common agent harness (modes, tool calls, subagents, background tasks, rules and approvals), which feeds model routing (Granite, Claude, Mistral), MCP servers and Bobalytics

Here is a look at each component.

Harness capabilities. IBM highlights native tool calling, parallel execution, subagents (specialized work performed in a separate context), and background task orchestration (long-running work that does not block the developer) as features of the revamped harness. The structure is designed to break up context-heavy work such as large repository analysis or upgrades spanning multiple modules.

Two surfaces. Bob IDE is a dedicated development environment that works across the whole workspace. BobShell is a CLI that supports both interactive use and non-interactive execution in CI/CD pipelines. With the bob acp command, BobShell can act as an ACP (Agent Client Protocol) server. ACP is a JSON-RPC standard connecting editors to coding agents — it does for agents what LSP does for language servers. As a result, in Zed, IntelliJ, Neovim, and Xcode, each editor renders the UI while Bob handles execution.

Model routing. Bob selects a model for each task based on accuracy, latency, and cost. IBM's examples: a fine-tuned small Granite model for security checks, Anthropic Claude for complex planning, and open Mistral models for the code generation stage. IBM claims this routing cut AI compute costs by about 40%.

MCP integration. Internal systems are connected via MCP servers. By default, MCP tool calls are not auto-approved, and remote MCP servers require authentication, transport encryption, access control, and auditing.

3. Controls — modes, rules, approvals, and trust

What sets Bob apart from a simple coding agent is its set of mechanisms for declaratively defining the scope of agent behavior. The summary below follows the formats published in the official documentation.

Modes: tool permissions by role

There are three built-in modes (consolidated from five in July 2026).

ModePurposeChange permissions
AskCode analysis and Q&ANone
PlanSystem-level analysis and change planningMainly plan documents
AgentImplementation and executionWithin policy limits

On top of these, teams can define custom modes. Global settings live in ~/.bob/settings/custom_modes.yaml, and project settings in .bob/custom_modes.yaml.

# .bob/custom_modes.yaml — a reviewer mode that can only edit docs (format example)
customModes:
  - slug: docs-reviewer
    name: Docs Reviewer
    roleDefinition: >-
      You review and improve technical documentation.
      You never modify application code.
    whenToUse: Use for documentation review and editing.
    groups:
      - read
      - - edit
        - fileRegex: ".*\\.(md|mdx)$"
          description: Markdown files only

groups lists the tool groups a mode can use; the groups listed in the documentation are read, edit, execute, mcp, skill, workflow, todo, subtask, subagent, and mode. The edit group can be restricted with fileRegex to file patterns the mode may modify. By creating modes such as the "Markdown-only" mode above or a "read-only reviewer" mode and committing them to the repository, the whole team shares the same permission boundaries.

Notably, this definition format (slug, roleDefinition, groups, fileRegex, whenToUse) is nearly identical to the custom mode format of Roo Code, an open-source VS Code extension. This is an important observation for Part 2, where we design an open-source equivalent.

Rules: injecting organizational coding standards

Rules are instructions that set the agent's response style and decision criteria. BobShell recursively reads the rules/ (shared), rules-code/, rules-plan/, and rules-{mode}/ directories, and also reads AGENTS.md at the workspace root by default. Because AGENTS.md is a de facto standard file read by many coding agents, it makes sharing rules with other tools easy.

Approval policies: what to allow automatically

Approval policies are managed under the approval key in ~/.bob/settings/settings.json. The structure published in the documentation is as follows.

KeyMeaning
allowed_permissionsPermission groups to auto-approve (read, edit, execute, mcp, skill, todo, subtask, subagent, mode)
permissionOptionsDetailed options per group
allowedExecutorsAllow/deny lists for command execution tools (approvedCommands auto-approves by prefix match; deniedCommands takes precedence over approvals and always blocks)

The principle recommended in IBM community documentation is simple: reads can be auto-approved; state-changing actions go through review. For untrusted tasks, command execution is off by default, and task-level approval can be used for a batch of work you want to trust just once. Changes are shown as diffs and can be rolled back via checkpoints.

Trusted folders and .bobignore

Before reading project settings, Bob asks whether to trust the folder. Untrusted folders open in restricted mode, with project settings, auto-approval, MCP servers, and custom commands disabled. This guards against attacks that plant malicious .bob/ configuration in a repository.

.bobignore uses .gitignore syntax to specify files the agent cannot read or modify. The official recommendation is to list secret files in both .gitignore and .bobignore, and to keep tokens out of configuration files such as .bob/mcp.json as well.

An agent action passes four controls before execution — trusted folders, .bobignore, modes and approval policy — while the outer system-level sandbox (container or VM isolation, network policy, protection of files outside the workspace) is not provided by Bob and must be designed separately

4. Modernization packages — domain workflows on top of a general-purpose agent

In July 2026, IBM released three premium packages.

PackageKey capabilities
Java ModernizationJDK upgrades, Liberty modernization, UI migration, unit test generation, security vulnerability fixes
IBM iRPG modernization, DDS → DDL database conversion, direct QSYS connectivity
IBM ZMainframe application understanding, Z-specific Architect and Code modes, documentation that reflects business context

What stands out here is the structure of layering domain workflows on top of a general-purpose agent. One user review describes the Java modernization mode's flow as "build → analyze failures → group errors by root cause → fix incrementally." Rather than asking the model to "upgrade this to Java 21," the work is broken down using build tools and analysis results, and the agent operates within that structure.

This is also IBM's business moat. Java, IBM i, and mainframes are core assets for IBM customers — and the areas where general-purpose coding agents are weakest. In Part 2, when we build the same pattern with open source, we will return to the point that the key is not the model but deterministic transformation tools and workflows.

5. Self-hosting and air-gapped configurations

The heart of the October 1 announcement is three configurations for bringing Bob inside the customer's environment.

Three IBM Bob self-hosted deployment options: (1) self-hosted with supported models on customer GPUs, (2) hybrid using a model service in the customer's cloud account, where code in prompts leaves for the cloud, (3) air-gapped with external connectivity blocked

ConfigurationModel locationBest fit
① Self-hostedSupported models on customer GPUsData stays internal, but external connectivity is allowed
② HybridModel services in the customer's cloud accountLarge commercial models are needed and a cloud contract exists
③ Air-gappedOpen-weight models on customer GPUsExternal connectivity is prohibited altogether

According to press reports, the models supported for self-hosting at general availability are NVIDIA Nemotron and Poolside Laguna. Using models the customer already licenses was also mentioned. Self-hosting includes core capabilities such as the IDE, BobShell, parallel tool calling, the harness, and skills and modes.

In an IBM Institute for Business Value survey cited by IBM, 68% of executives said they find it difficult to meet country-specific data residency and sovereignty requirements. Bob's self-hosted deployment targets this demand.

6. Limitations and what to verify

Reading through the public documentation and announcements, here are the points to check before adoption.

① There is no system-level sandbox. Bob's security guidance states explicitly that .bobignore "does not create a system-level sandbox." Files outside the workspace and some write operations can bypass this restriction. As long as the agent runs shell commands, isolation must be designed separately in an outer layer such as containers, VMs, and network policies. This is where Part 2 puts the most effort.

② Models available in air-gapped environments are limited. The hybrid configuration allows large commercial models, but a fully air-gapped setup narrows the choice to supported open-weight models. Even with the same Bob, you should not assume the quality you experienced on SaaS will carry over to an air-gapped environment. Compare quality across configurations yourself using an evaluation set built from your internal repositories.

③ Check the data boundary of the hybrid configuration. If the model service lives in an external cloud, the code contained in prompts goes there. The key questions are which tasks are routed to which models, and whether those routes can be pinned by policy.

④ Cost predictability. SaaS is usage-based billing in Bobcoin units (e.g., Pro at $20/month, Ultra at $200/month). Self-hosting adds GPU and operating costs on top of licensing. As background tasks and subagents grow, actual usage diverges from what people perceive, so usage visibility such as Bobalytics and budget controls should be set up from the start.

⑤ Details of prompt injection defenses are not public. The GA announcement mentions prompt normalization, sensitive data checks, real-time policy enforcement, and in-workflow red teaming, but the specifics of how these work are hard to find in the public documentation. Development agents that read external issue trackers, documents, and dependency code are exposed to indirect prompt injection, so this is an item to verify before adoption.

7. Adoption criteria

IBM Bob adoption decision guide — five questions on core assets, OpenShift, validated air-gapped model quality, vendor lock-in and outer-layer sandboxing, with what a yes or a no means for each

QuestionWhen Bob fitsWhen to look at alternatives
Are your core assets Java, IBM i, or mainframe?Yes — the modernization packages deliver direct valueNo — a general-purpose coding agent may be enough
Do you run OpenShift?Yes — low barrier to self-hostingNo — platform adoption costs are added
Have you validated air-gapped model quality?Verified with an internal evaluation setNot yet — start with a PoC
Can you accept vendor lock-in?Having a support and accountable party mattersYou want direct control over components → Part 2
Can you build the sandbox in an outer layer?You have the capability to operate containers and network policiesNo — isolation design comes first

The direction Bob points to is clear. The competitive edge of development agents is shifting from model performance to platforms equipped with modes, rules, approval policies, auditing, and modernization workflows — and the next step is bringing that platform inside the customer's air-gapped network.

So can you build this platform yourself with open source? In Designing an Open-Source Coding Agent Platform for Air-Gapped Environments (Part 2), we map Bob's components to open-source equivalents one by one and design the platform.

References